From 04ab2cf43b5341900737f0d480bce0b8205add8e Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 23 May 2012 21:30:13 -0400 Subject: storm-1738: restructure code, preferences storage, preferences ui; ui not completely tested --- .../newview/app_settings/settings_autoreplace.xml | 16673 +++++++++---------- indra/newview/llautoreplace.cpp | 711 +- indra/newview/llautoreplace.h | 220 +- indra/newview/llfloaterautoreplacesettings.cpp | 686 +- indra/newview/llfloaterautoreplacesettings.h | 85 +- .../skins/default/xui/en/floater_autoreplace.xml | 334 +- .../newview/skins/default/xui/en/notifications.xml | 57 + .../default/xui/en/panel_preferences_chat.xml | 2 +- 8 files changed, 9829 insertions(+), 8939 deletions(-) diff --git a/indra/newview/app_settings/settings_autoreplace.xml b/indra/newview/app_settings/settings_autoreplace.xml index 790cd62a02..09d19f7b04 100644 --- a/indra/newview/app_settings/settings_autoreplace.xml +++ b/indra/newview/app_settings/settings_autoreplace.xml @@ -1,8351 +1,8330 @@ + - Custom - - data - - enabled - 1 - priority - 10 - - Abbreviations - - data - - afaic - As far as I am concerned - afaik - As far as I know - afk - (Away from Keyboard) - atm - at the moment - bbiab - (Be back in a bit) - bbl - (Be back later) - brb - (Be Right Back) - btw - By the way - fyi - For your information - fwiw - For what its worth - gtg - (Got to go) - idk - I don't know - iirc - If I recall correctly - imho - in my humble opinion - imo - in my opinion - irl - in real life - lol - (Laughing out Loud) - nm - Not much - np - No problem - nsfw - not safe for work - nvm - Nevermind - rofl - (Rolling on Floor Laughing) - tc - Take care - thx - Thanks - ttfn - Ta Ta for now - ttyl - Talk to you later - ty - Thank you - tyvm - Thank you very much - wb - Welcome back - yw - You're Welcome - yvw - You're very welcome - - enabled - 1 - priority - 4 - - Spelling Corrections - - data - - Amercia - America - Bernouilli - Bernoulli - Blitzkreig - Blitzkrieg - Bonnano - Bonanno - Brasillian - Brazilian - Britian - Britain - Brittish - British - Buddah - Buddha - Buddist - Buddhist - Cambrige - Cambridge - Capetown - Cape Town - Carmalite - Carmelite - Carnagie - Carnegie - Carnagie-Mellon - Carnegie-Mellon - Carnigie - Carnegie - Carnigie-Mellon - Carnegie-Mellon - Carribbean - Caribbean - Carribean - Caribbean - Carthagian - Carthaginian - Cataline - Catiline - Ceasar - Caesar - Celcius - Celsius - Champange - Champagne - Cincinatti - Cincinnati - Cincinnatti - Cincinnati - Conneticut - Connecticut - Dardenelles - Dardanelles - Dravadian - Dravidian - Enlish - English - Europian - European - Europians - Europeans - Eurpean - European - Eurpoean - European - Farenheit - Fahrenheit - Febuary - February - Feburary - February - Flemmish - Flemish - Formalhaut - Fomalhaut - Foundland - Newfoundland - Fransiscan - Franciscan - Fransiscans - Franciscans - Galations - Galatians - Gameboy - Game Boy - Ghandi - Gandhi - Godounov - Godunov - Gothenberg - Gothenburg - Gottleib - Gottlieb - Guaduloupe - Guadalupe - Guadulupe - Guadalupe - Guatamala - Guatemala - Guatamalan - Guatemalan - Guilia - Giulia - Guilio - Giulio - Guiness - Guinness - Guiseppe - Giuseppe - Habsbourg - Habsburg - Hallowean - Halloween - Heidelburg - Heidelberg - Ihaca - Ithaca - Israelies - Israelis - Janurary - January - Januray - January - Japanes - Japanese - Johanine - Johannine - Jospeh - Joseph - Juadaism - Judaism - Juadism - Judaism - Lybia - Libya - Malcom - Malcolm - Massachussets - Massachusetts - Massachussetts - Massachusetts - Mediteranean - Mediterranean - Michagan - Michigan - Misouri - Missouri - Missisipi - Mississippi - Missisippi - Mississippi - Monserrat - Montserrat - Montnana - Montana - Morisette - Morissette - Morrisette - Morissette - Mythraic - Mithraic - Naploeon - Napoleon - Napolean - Napoleon - Napoleonian - Napoleonic - Nazereth - Nazareth - Newyorker - New Yorker - Novermber - November - Nullabour - Nullarbor - Nuremburg - Nuremberg - Palistian - Palestinian - Palistinian - Palestinian - Palistinians - Palestinians - Papanicalou - Papanicolaou - Peloponnes - Peloponnesus - Pennyslvania - Pennsylvania - Pharoah - Pharaoh - Philipines - Philippines - Phillipine - Philippine - Phillipines - Philippines - Phillippines - Philippines - Phonecian - Phoenecian - Portugese - Portuguese - Postdam - Potsdam - Premonasterians - Premonstratensians - Pucini - Puccini - Puertorrican - Puerto Rican - Puertorricans - Puerto Ricans - Queenland - Queensland - Rockerfeller - Rockefeller - Russion - Russian - Sanhedrim - Sanhedrin - Saterday - Saturday - Saterdays - Saturdays - Sionist - Zionist - Sionists - Zionists - Sixtin - Sistine - Skagerak - Skagerrak - Tolkein - Tolkien - Tuscon - Tucson - Ukranian - Ukrainian - UnitesStates - UnitedStates - Yementite - Yemenite - abandonned - abandoned - aberation - aberration - abilties - abilities - abilty - ability - abondon - abandon - abondoned - abandoned - abondoning - abandoning - abondons - abandons - aborigene - aborigine - abortificant - abortifacient - abreviate - abbreviate - abreviated - abbreviated - abreviation - abbreviation - abritrary - arbitrary - absail - abseil - absailing - abseiling - absense - absence - absolutly - absolutely - absorbsion - absorption - absorbtion - absorption - abundacies - abundances - abundancies - abundances - abundunt - abundant - abutts - abuts - acadamy - academy - acadmic - academic - accademic - academic - accademy - academy - acccused - accused - accelleration - acceleration - accension - ascension - acceptence - acceptance - acceptible - acceptable - accessable - accessible - accidentaly - accidentally - accidently - accidentally - acclimitization - acclimatization - accomadate - accommodate - accomadated - accommodated - accomadates - accommodates - accomadating - accommodating - accomadation - accommodation - accomadations - accommodations - accomdate - accommodate - accomodate - accommodate - accomodated - accommodated - accomodates - accommodates - accomodating - accommodating - accomodation - accommodation - accomodations - accommodations - accompanyed - accompanied - accordeon - accordion - accordian - accordion - accoring - according - accoustic - acoustic - accquainted - acquainted - accrediation - accreditation - accredidation - accreditation - accross - across - accussed - accused - acedemic - academic - acheive - achieve - acheived - achieved - acheivement - achievement - acheivements - achievements - acheives - achieves - acheiving - achieving - acheivment - achievement - acheivments - achievements - achievment - achievement - achievments - achievements - achivement - achievement - achivements - achievements - acknowldeged - acknowledged - acknowledgeing - acknowledging - ackward - awkward - acommodate - accommodate - acomplish - accomplish - acomplished - accomplished - acomplishment - accomplishment - acomplishments - accomplishments - acording - according - acordingly - accordingly - acquaintence - acquaintance - acquaintences - acquaintances - acquiantence - acquaintance - acquiantences - acquaintances - acquited - acquitted - activites - activities - activly - actively - actualy - actually - acuracy - accuracy - acused - accused - acustom - accustom - acustommed - accustomed - adavanced - advanced - adbandon - abandon - additinally - additionally - additionaly - additionally - additonal - additional - additonally - additionally - addmission - admission - addopt - adopt - addopted - adopted - addoptive - adoptive - addres - address - addresable - addressable - addresed - addressed - addresing - addressing - addressess - addresses - addtion - addition - addtional - additional - adecuate - adequate - adequit - adequate - adhearing - adhering - adherance - adherence - admendment - amendment - admininistrative - administrative - adminstered - administered - adminstrate - administrate - adminstration - administration - adminstrative - administrative - adminstrator - administrator - admissability - admissibility - admissable - admissible - admited - admitted - admitedly - admittedly - adn - and - adolecent - adolescent - adquire - acquire - adquired - acquired - adquires - acquires - adquiring - acquiring - adres - address - adresable - addressable - adresing - addressing - adress - address - adressable - addressable - adressed - addressed - adressing - addressing - adventrous - adventurous - advertisment - advertisement - advertisments - advertisements - advesary - adversary - adviced - advised - aeriel - aerial - aeriels - aerials - afair - affair - afficianados - aficionados - afficionado - aficionado - afficionados - aficionados - affilate - affiliate - affilliate - affiliate - affort - afford - aforememtioned - aforementioned - againnst - against - agains - against - agaisnt - against - aganist - against - aggaravates - aggravates - aggreed - agreed - aggreement - agreement - aggregious - egregious - aggresive - aggressive - agian - again - agianst - against - agin - again - agina - again - aginst - against - agravate - aggravate - agre - agree - agred - agreed - agreeement - agreement - agreemnt - agreement - agregate - aggregate - agregates - aggregates - agreing - agreeing - agression - aggression - agressive - aggressive - agressively - aggressively - agressor - aggressor - agricuture - agriculture - agrieved - aggrieved - ahev - have - ahppen - happen - ahve - have - aicraft - aircraft - aiport - airport - airbourne - airborne - aircaft - aircraft - aircrafts - aircraft - airporta - airports - airrcraft - aircraft - aisian - asian - albiet - albeit - alchohol - alcohol - alchoholic - alcoholic - alchol - alcohol - alcholic - alcoholic - alcohal - alcohol - alcoholical - alcoholic - aledge - allege - aledged - alleged - aledges - alleges - alege - allege - aleged - alleged - alegience - allegiance - algebraical - algebraic - algorhitms - algorithms - algoritm - algorithm - algoritms - algorithms - alientating - alienating - alledge - allege - alledged - alleged - alledgedly - allegedly - alledges - alleges - allegedely - allegedly - allegedy - allegedly - allegely - allegedly - allegence - allegiance - allegience - allegiance - allign - align - alligned - aligned - alliviate - alleviate - allopone - allophone - allopones - allophones - allready - already - allthough - although - alltime - all-time - alltogether - altogether - almsot - almost - alochol - alcohol - alomst - almost - alot - a lot - alotted - allotted - alowed - allowed - alowing - allowing - alreayd - already - alse - else - alsot - also - alternitives - alternatives - altho - although - althought - although - altough - although - alusion - allusion - alwasy - always - alwyas - always - amalgomated - amalgamated - amatuer - amateur - amature - armature - amendmant - amendment - amerliorate - ameliorate - amke - make - amking - making - ammend - amend - ammended - amended - ammendment - amendment - ammendments - amendments - ammount - amount - ammused - amused - amoung - among - amoungst - amongst - amung - among - amunition - ammunition - analagous - analogous - analitic - analytic - analogeous - analogous - anarchim - anarchism - anarchistm - anarchism - anbd - and - ancestory - ancestry - ancilliary - ancillary - androgenous - androgynous - androgeny - androgyny - anihilation - annihilation - aniversary - anniversary - annoint - anoint - annointed - anointed - annointing - anointing - annoints - anoints - annouced - announced - annualy - annually - annuled - annulled - anohter - another - anomolies - anomalies - anomolous - anomalous - anomoly - anomaly - anonimity - anonymity - anounced - announced - anouncement - announcement - ansalisation - nasalisation - ansalization - nasalization - ansestors - ancestors - antartic - antarctic - anthromorphization - anthropomorphization - anthropolgist - anthropologist - anthropolgy - anthropology - anual - annual - anulled - annulled - anwsered - answered - anyhwere - anywhere - anyother - any other - anytying - anything - aparent - apparent - aparment - apartment - apenines - apennines - aplication - application - aplied - applied - apolegetics - apologetics - apon - apron - apparant - apparent - apparantly - apparently - appart - apart - appartment - apartment - appartments - apartments - appealling - appealing - appeareance - appearance - appearence - appearance - appearences - appearances - apperance - appearance - apperances - appearances - appereance - appearance - appereances - appearances - applicaiton - application - applicaitons - applications - appologies - apologies - appology - apology - apprearance - appearance - apprieciate - appreciate - approachs - approaches - appropiate - appropriate - appropraite - appropriate - appropropiate - appropriate - approproximate - approximate - approxamately - approximately - approxiately - approximately - approximitely - approximately - aprehensive - apprehensive - apropriate - appropriate - aproximate - approximate - aproximately - approximately - aquaduct - aqueduct - aquaintance - acquaintance - aquainted - acquainted - aquiantance - acquaintance - aquire - acquire - aquired - acquired - aquiring - acquiring - aquisition - acquisition - aquitted - acquitted - aranged - arranged - arangement - arrangement - arbitarily - arbitrarily - arbitary - arbitrary - archaelogists - archaeologists - archaelogy - archaeology - archaoelogy - archaeology - archaology - archaeology - archeaologist - archaeologist - archeaologists - archaeologists - archetect - architect - archetects - architects - archetectural - architectural - archetecturally - architecturally - archetecture - architecture - archiac - archaic - archictect - architect - archimedian - archimedean - architecht - architect - architechturally - architecturally - architechture - architecture - architechtures - architectures - architectual - architectural - archtype - archetype - archtypes - archetypes - aready - already - areodynamics - aerodynamics - argubly - arguably - arguement - argument - arguements - arguments - arised - arose - arival - arrival - armamant - armament - armistace - armistice - arogant - arrogant - arogent - arrogant - aroud - around - arrangment - arrangement - arrangments - arrangements - arround - around - artical - article - artice - article - articel - article - artifical - artificial - artifically - artificially - artillary - artillery - arund - around - asetic - ascetic - asfar - as far - asign - assign - aslo - also - asociated - associated - asorbed - absorbed - asphyxation - asphyxiation - assasin - assassin - assasinate - assassinate - assasinated - assassinated - assasinates - assassinates - assasination - assassination - assasinations - assassinations - assasined - assassinated - assasins - assassins - assassintation - assassination - assemple - assemble - assertation - assertion - asside - aside - assisnate - assassinate - assit - assist - assitant - assistant - assocation - association - assoicate - associate - assoicated - associated - assoicates - associates - assosication - assassination - asssassans - assassins - assualt - assault - assualted - assaulted - assymetric - asymmetric - assymetrical - asymmetrical - asteriod - asteroid - asthetic - aesthetic - asthetical - aesthetical - asthetically - aesthetically - asume - assume - aswell - as well - atain - attain - atempting - attempting - atheistical - atheistic - athenean - athenian - atheneans - athenians - athiesm - atheism - athiest - atheist - atorney - attorney - atribute - attribute - atributed - attributed - atributes - attributes - attaindre - attainder - attemp - attempt - attemped - attempted - attemt - attempt - attemted - attempted - attemting - attempting - attemts - attempts - attendence - attendance - attendent - attendant - attendents - attendants - attened - attended - attension - attention - attitide - attitude - attributred - attributed - attrocities - atrocities - audeince - audience - auromated - automated - austrailia - Australia - austrailian - Australian - auther - author - authobiographic - autobiographic - authobiography - autobiography - authorative - authoritative - authorites - authorities - authorithy - authority - authoritiers - authorities - authoritive - authoritative - authrorities - authorities - autochtonous - autochthonous - autoctonous - autochthonous - automaticly - automatically - automibile - automobile - automonomous - autonomous - autor - author - autority - authority - auxilary - auxiliary - auxillaries - auxiliaries - auxillary - auxiliary - auxilliaries - auxiliaries - auxilliary - auxiliary - availabe - available - availablity - availability - availaible - available - availble - available - availiable - available - availible - available - avalable - available - avalance - avalanche - avaliable - available - avation - aviation - avengence - a vengeance - averageed - averaged - avilable - available - awared - awarded - awya - away - baceause - because - backgorund - background - backrounds - backgrounds - bakc - back - banannas - bananas - bandwith - bandwidth - bankrupcy - bankruptcy - banruptcy - bankruptcy - baout - about - basicaly - basically - basicly - basically - bcak - back - beachead - beachhead - beacuse - because - beastiality - bestiality - beatiful - beautiful - beaurocracy - bureaucracy - beaurocratic - bureaucratic - beautyfull - beautiful - becamae - became - becames - becomes - becasue - because - beccause - because - becomeing - becoming - becomming - becoming - becouse - because - becuase - because - bedore - before - befoer - before - beggin - begin - begginer - beginner - begginers - beginners - beggining - beginning - begginings - beginnings - beggins - begins - begining - beginning - beginnig - beginning - behavour - behavior - beleagured - beleaguered - beleif - belief - beleive - believe - beleived - believed - beleives - believes - beleiving - believing - beligum - belgium - belive - believe - belived - believed - belives - believes - belligerant - belligerent - bellweather - bellwether - bemusemnt - bemusement - beneficary - beneficiary - beng - being - benificial - beneficial - benifit - benefit - benifits - benefits - bergamont - bergamot - beseige - besiege - beseiged - besieged - beseiging - besieging - betwen - between - beween - between - bewteen - between - bilateraly - bilaterally - billingualism - bilingualism - binominal - binomial - bizzare - bizarre - blaim - blame - blaimed - blamed - blessure - blessing - bodydbuilder - bodybuilder - bombardement - bombardment - bombarment - bombardment - bondary - boundary - borke - broke - boundry - boundary - bouyancy - buoyancy - bouyant - buoyant - boyant - buoyant - breakthough - breakthrough - breakthroughts - breakthroughs - breif - brief - breifly - briefly - brethen - brethren - bretheren - brethren - briliant - brilliant - brillant - brilliant - brimestone - brimstone - broacasted - broadcast - broadacasting - broadcasting - broady - broadly - buisness - business - buisnessman - businessman - buoancy - buoyancy - burried - buried - busineses - businesses - busness - business - bussiness - business - caculater - calculator - cacuses - caucuses - cahracters - characters - calaber - caliber - calculater - calculator - calculs - calculus - calenders - calendars - caligraphy - calligraphy - caluclate - calculate - caluclated - calculated - caluculate - calculate - caluculated - calculated - calulate - calculate - calulated - calculated - calulater - calculator - camoflage - camouflage - campain - campaign - campains - campaigns - candadate - candidate - candiate - candidate - candidiate - candidate - cannister - canister - cannisters - canisters - cannnot - cannot - cannonical - canonical - cannotation - connotation - cannotations - connotations - cant - can't - caost - coast - caperbility - capability - capible - capable - captial - capital - captued - captured - capturd - captured - carachter - character - caracterized - characterized - carcas - carcass - carefull - careful - careing - caring - carismatic - charismatic - carnege - carnage - carnige - carnage - carniverous - carnivorous - carreer - career - carrers - careers - cartdridge - cartridge - carthographer - cartographer - cartilege - cartilage - cartilidge - cartilage - cartrige - cartridge - casette - cassette - casion - caisson - cassawory - cassowary - cassowarry - cassowary - casulaties - casualties - casulaty - casualty - catagories - categories - catagorized - categorized - catagory - category - catapillar - caterpillar - catapillars - caterpillars - catapiller - caterpillar - catapillers - caterpillars - catepillar - caterpillar - catepillars - caterpillars - catergorize - categorize - catergorized - categorized - caterpilar - caterpillar - caterpilars - caterpillars - caterpiller - caterpillar - caterpillers - caterpillars - cathlic - catholic - catholocism - catholicism - catterpilar - caterpillar - catterpilars - caterpillars - catterpillar - caterpillar - catterpillars - caterpillars - cattleship - battleship - causalities - casualties - cellpading - cellpadding - cementary - cemetery - cemetarey - cemetery - cemetaries - cemeteries - cemetary - cemetery - cencus - census - censur - censor - cententenial - centennial - centruies - centuries - centruy - century - ceratin - certain - cerimonial - ceremonial - cerimonies - ceremonies - cerimonious - ceremonious - cerimony - ceremony - ceromony - ceremony - certainity - certainty - certian - certain - chalenging - challenging - challange - challenge - challanged - challenged - challege - challenge - changable - changeable - charachter - character - charachters - characters - charactersistic - characteristic - charactor - character - charactors - characters - charasmatic - charismatic - charaterized - characterized - chariman - chairman - charistics - characteristics - cheif - chief - cheifs - chiefs - chemcial - chemical - chemcially - chemically - chemestry - chemistry - chemicaly - chemically - childbird - childbirth - childen - children - choosen - chosen - chracter - character - chuch - church - churchs - churches - circulaton - circulation - circumsicion - circumcision - circut - circuit - ciricuit - circuit - ciriculum - curriculum - civillian - civilian - claer - clear - claerer - clearer - claerly - clearly - claimes - claims - clas - class - clasic - classic - clasical - classical - clasically - classically - cleareance - clearance - clera - clear - clincial - clinical - clinicaly - clinically - cmo - com - cmoputer - computer - co-incided - coincided - coctail - cocktail - coform - conform - cognizent - cognizant - coincedentally - coincidentally - colaborations - collaborations - colateral - collateral - colelctive - collective - collaberative - collaborative - collecton - collection - collegue - colleague - collegues - colleagues - collonade - colonnade - collonies - colonies - collony - colony - collosal - colossal - colonizators - colonizers - comander - commander - comando - commando - comandos - commandos - comany - company - comapany - company - comback - comeback - combanations - combinations - combinatins - combinations - combusion - combustion - comdemnation - condemnation - comemmorates - commemorates - comemoretion - commemoration - comision - commission - comisioned - commissioned - comisioner - commissioner - comisioning - commissioning - comisions - commissions - comission - commission - comissioned - commissioned - comissioner - commissioner - comissioning - commissioning - comissions - commissions - comited - committed - comiting - committing - comitted - committed - comittee - committee - comitting - committing - commandoes - commandos - commedic - comedic - commemerative - commemorative - commemmorate - commemorate - commemmorating - commemorating - commerical - commercial - commerically - commercially - commericial - commercial - commericially - commercially - commerorative - commemorative - comming - coming - comminication - communication - commision - commission - commisioned - commissioned - commisioner - commissioner - commisioning - commissioning - commisions - commissions - commited - committed - commitee - committee - commiting - committing - committe - committee - committment - commitment - committments - commitments - commmemorated - commemorated - commongly - commonly - commonweath - commonwealth - commuications - communications - commuinications - communications - communciation - communication - communiation - communication - communites - communities - compability - compatibility - comparision - comparison - comparisions - comparisons - comparitive - comparative - comparitively - comparatively - compatabilities - compatibilities - compatability - compatibility - compatable - compatible - compatablities - compatibilities - compatablity - compatibility - compatiable - compatible - compatiblities - compatibilities - compatiblity - compatibility - compeitions - competitions - compensantion - compensation - competance - competence - competant - competent - competative - competitive - competion - competition - competitiion - competition - competive - competitive - competiveness - competitiveness - comphrehensive - comprehensive - compitent - competent - completedthe - completed the - completelyl - completely - completetion - completion - complier - compiler - componant - component - comprable - comparable - comprimise - compromise - compulsary - compulsory - compulsery - compulsory - computarized - computerized - concensus - consensus - concider - consider - concidered - considered - concidering - considering - conciders - considers - concieted - conceited - concieved - conceived - concious - conscious - conciously - consciously - conciousness - consciousness - condamned - condemned - condemmed - condemned - condidtion - condition - condidtions - conditions - conditionsof - conditions of - conected - connected - conection - connection - conesencus - consensus - confidental - confidential - confidentally - confidentially - confids - confides - configureable - configurable - confortable - comfortable - congradulations - congratulations - congresional - congressional - conived - connived - conjecutre - conjecture - conjuction - conjunction - conotations - connotations - conquerd - conquered - conquerer - conqueror - conquerers - conquerors - conqured - conquered - conscent - consent - consciouness - consciousness - consdider - consider - consdidered - considered - consdiered - considered - consectutive - consecutive - consenquently - consequently - consentrate - concentrate - consentrated - concentrated - consentrates - concentrates - consept - concept - consequentually - consequently - consequeseces - consequences - consern - concern - conserned - concerned - conserning - concerning - conservitive - conservative - consiciousness - consciousness - consicousness - consciousness - considerd - considered - consideres - considered - consious - conscious - consistant - consistent - consistantly - consistently - consituencies - constituencies - consituency - constituency - consituted - constituted - consitution - constitution - consitutional - constitutional - consolodate - consolidate - consolodated - consolidated - consonent - consonant - consonents - consonants - consorcium - consortium - conspiracys - conspiracies - conspiriator - conspirator - constaints - constraints - constanly - constantly - constarnation - consternation - constatn - constant - constinually - continually - constituant - constituent - constituants - constituents - constituion - constitution - constituional - constitutional - consttruction - construction - constuction - construction - consulant - consultant - consumate - consummate - consumated - consummated - contaiminate - contaminate - containes - contains - contamporaries - contemporaries - contamporary - contemporary - contempoary - contemporary - contemporaneus - contemporaneous - contempory - contemporary - contendor - contender - contibute - contribute - contibuted - contributed - contibutes - contributes - contigent - contingent - contined - continued - continous - continuous - continously - continuously - continueing - continuing - contravercial - controversial - contraversy - controversy - contributer - contributor - contributers - contributors - contritutions - contributions - controled - controlled - controling - controlling - controll - control - controlls - controls - controvercial - controversial - controvercy - controversy - controveries - controversies - controversal - controversial - controversey - controversy - controvertial - controversial - controvery - controversy - contruction - construction - conveinent - convenient - convenant - covenant - convential - conventional - convertables - convertibles - convertion - conversion - conveyer - conveyor - conviced - convinced - convienient - convenient - coordiantion - coordination - coorperations - corporations - copmetitors - competitors - coputer - computer - copywrite - copyright - coridal - cordial - cornmitted - committed - corosion - corrosion - corparate - corporate - corperations - corporations - correcters - correctors - correponding - corresponding - correposding - corresponding - correspondant - correspondent - correspondants - correspondents - corridoors - corridors - corrispond - correspond - corrispondant - correspondent - corrispondants - correspondents - corrisponded - corresponded - corrisponding - corresponding - corrisponds - corresponds - costitution - constitution - coucil - council - counries - countries - countains - contains - countires - countries - coururier - courier - coverted - converted - cpoy - copy - creaeted - created - creedence - credence - critereon - criterion - criterias - criteria - criticists - critics - critising - criticising - critisising - criticising - critisism - criticism - critisisms - criticisms - critisize - criticise - critisized - criticised - critisizes - criticises - critisizing - criticising - critized - criticized - critizing - criticizing - crockodiles - crocodiles - crowm - crown - crtical - critical - crticised - criticised - crucifiction - crucifixion - crusies - cruises - crystalisation - crystallisation - culiminating - culminating - cumulatative - cumulative - curch - church - curcuit - circuit - currenly - currently - curriculem - curriculum - cxan - cyan - cyclinder - cylinder - dacquiri - daiquiri - dael - deal - dalmation - dalmatian - damenor - demeanor - dammage - damage - daugher - daughter - debateable - debatable - decendant - descendant - decendants - descendants - decendent - descendant - decendents - descendants - decideable - decidable - decidely - decidedly - decieved - deceived - decison - decision - decomissioned - decommissioned - decomposit - decompose - decomposited - decomposed - decompositing - decomposing - decomposits - decomposes - decress - decrees - decribe - describe - decribed - described - decribes - describes - decribing - describing - dectect - detect - defendent - defendant - defendents - defendants - deffensively - defensively - deffine - define - deffined - defined - definance - defiance - definate - definite - definately - definitely - definatly - definitely - definetly - definitely - definining - defining - definit - definite - definitly - definitely - definiton - definition - defintion - definition - degrate - degrade - delagates - delegates - delapidated - dilapidated - delerious - delirious - delevopment - development - deliberatly - deliberately - delusionally - delusively - demenor - demeanor - demographical - demographic - demolision - demolition - demorcracy - democracy - demostration - demonstration - denegrating - denigrating - densly - densely - deparment - department - deparmental - departmental - deparments - departments - dependance - dependence - dependancy - dependency - dependant - dependent - deram - dream - deriviated - derived - derivitive - derivative - derogitory - derogatory - descendands - descendants - descibed - described - descision - decision - descisions - decisions - descriibes - describes - descripters - descriptors - descripton - description - desctruction - destruction - descuss - discuss - desgined - designed - deside - decide - desigining - designing - desinations - destinations - desintegrated - disintegrated - desintegration - disintegration - desireable - desirable - desitned - destined - desktiop - desktop - desorder - disorder - desoriented - disoriented - desparate - desperate - despict - depict - despiration - desperation - dessicated - desiccated - dessigned - designed - destablized - destabilized - destory - destroy - detailled - detailed - detatched - detached - deteoriated - deteriorated - deteriate - deteriorate - deterioriating - deteriorating - determinining - determining - detremental - detrimental - devasted - devastated - develope - develop - developement - development - developped - developed - develpment - development - devels - delves - devestated - devastated - devestating - devastating - devide - divide - devided - divided - devistating - devastating - devolopement - development - diablical - diabolical - diamons - diamonds - diaster - disaster - dichtomy - dichotomy - diconnects - disconnects - dicover - discover - dicovered - discovered - dicovering - discovering - dicovers - discovers - dicovery - discovery - dicussed - discussed - didnt - didn't - diea - idea - dieing - dying - dieties - deities - diety - deity - diferent - different - diferrent - different - differentiatiations - differentiations - differnt - different - difficulity - difficulty - diffrent - different - dificulties - difficulties - dificulty - difficulty - dimenions - dimensions - dimention - dimension - dimentional - dimensional - dimentions - dimensions - dimesnional - dimensional - diminuitive - diminutive - dimunitive - diminutive - diosese - diocese - diphtong - diphthong - diphtongs - diphthongs - diplomancy - diplomacy - dipthong - diphthong - dipthongs - diphthongs - dirived - derived - disagreeed - disagreed - disapeared - disappeared - disapointing - disappointing - disappearred - disappeared - disaproval - disapproval - disasterous - disastrous - disatisfaction - dissatisfaction - disatisfied - dissatisfied - disatrous - disastrous - discontentment - discontent - discribe - describe - discribed - described - discribes - describes - discribing - describing - disctinction - distinction - disctinctive - distinctive - disemination - dissemination - disenchanged - disenchanted - disiplined - disciplined - disobediance - disobedience - disobediant - disobedient - disolved - dissolved - disover - discover - dispair - despair - disparingly - disparagingly - dispence - dispense - dispenced - dispensed - dispencing - dispensing - dispicable - despicable - dispite - despite - dispostion - disposition - disproportiate - disproportionate - disputandem - disputandum - disricts - districts - dissagreement - disagreement - dissapear - disappear - dissapearance - disappearance - dissapeared - disappeared - dissapearing - disappearing - dissapears - disappears - dissappear - disappear - dissappears - disappears - dissappointed - disappointed - dissarray - disarray - dissobediance - disobedience - dissobediant - disobedient - dissobedience - disobedience - dissobedient - disobedient - distiction - distinction - distingish - distinguish - distingished - distinguished - distingishes - distinguishes - distingishing - distinguishing - distingquished - distinguished - distrubution - distribution - distruction - destruction - distructive - destructive - ditributed - distributed - diversed - diverged - divice - device - divison - division - divisons - divisions - doccument - document - doccumented - documented - doccuments - documents - docrines - doctrines - doctines - doctrines - documenatry - documentary - doens - does - doesnt - doesn't - doign - doing - dominaton - domination - dominent - dominant - dominiant - dominant - donig - doing - dont - don't - dosen't - doesn't - doub - doubt - doulbe - double - dowloads - downloads - dramtic - dramatic - draughtman - draughtsman - dreasm - dreams - driectly - directly - drnik - drink - druming - drumming - drummless - drumless - dupicate - duplicate - durig - during - durring - during - duting - during - dyas - dryas - eahc - each - ealier - earlier - earlies - earliest - earnt - earned - ecclectic - eclectic - eceonomy - economy - ecidious - deciduous - eclispe - eclipse - ecomonic - economic - ect - etc - eearly - early - efel - evil - effeciency - efficiency - effecient - efficient - effeciently - efficiently - efficency - efficiency - efficent - efficient - efficently - efficiently - efford - effort - effords - efforts - effulence - effluence - eigth - eight - eiter - either - elction - election - electic - electric - electon - electron - electrial - electrical - electricly - electrically - electricty - electricity - elementay - elementary - eleminated - eliminated - eleminating - eliminating - eles - eels - eletricity - electricity - elicided - elicited - eligable - eligible - elimentary - elementary - ellected - elected - elphant - elephant - embarass - embarrass - embarassed - embarrassed - embarassing - embarrassing - embarassment - embarrassment - embargos - embargoes - embarras - embarrass - embarrased - embarrassed - embarrasing - embarrassing - embarrasment - embarrassment - embezelled - embezzled - emblamatic - emblematic - eminate - emanate - eminated - emanated - emision - emission - emited - emitted - emiting - emitting - emition - emission - emmediately - immediately - emmigrated - immigrated - emminently - eminently - emmisaries - emissaries - emmisarries - emissaries - emmisarry - emissary - emmisary - emissary - emmision - emission - emmisions - emissions - emmited - emitted - emmiting - emitting - emmitted - emitted - emmitting - emitting - emnity - enmity - emperical - empirical - emphaised - emphasised - emphsis - emphasis - emphysyma - emphysema - emprisoned - imprisoned - enameld - enameled - enchancement - enhancement - encouraing - encouraging - encryptiion - encryption - encylopedia - encyclopedia - endevors - endeavors - endevour - endeavour - endig - ending - endolithes - endoliths - enduce - induce - ened - need - enflamed - inflamed - enforceing - enforcing - engagment - engagement - engeneer - engineer - engeneering - engineering - engieneer - engineer - engieneers - engineers - enlargment - enlargement - enlargments - enlargements - enourmous - enormous - enourmously - enormously - ensconsed - ensconced - entaglements - entanglements - enteratinment - entertainment - enthusiatic - enthusiastic - entitity - entity - entitlied - entitled - entrepeneur - entrepreneur - entrepeneurs - entrepreneurs - enviorment - environment - enviormental - environmental - enviormentally - environmentally - enviorments - environments - enviornment - environment - enviornmental - environmental - enviornmentalist - environmentalist - enviornmentally - environmentally - enviornments - environments - enviroment - environment - enviromental - environmental - enviromentalist - environmentalist - enviromentally - environmentally - enviroments - environments - envolutionary - evolutionary - envrionments - environments - enxt - next - epidsodes - episodes - epsiode - episode - equialent - equivalent - equilibium - equilibrium - equilibrum - equilibrium - equiped - equipped - equippment - equipment - equitorial - equatorial - equivelant - equivalent - equivelent - equivalent - equivilant - equivalent - equivilent - equivalent - equivlalent - equivalent - erally - really - eratic - erratic - eratically - erratically - eraticly - erratically - errupted - erupted - esential - essential - esitmated - estimated - esle - else - especialy - especially - essencial - essential - essense - essence - essentail - essential - essentialy - essentially - essentual - essential - essesital - essential - estabishes - establishes - establising - establishing - ethnocentricm - ethnocentrism - ethose - those - evenhtually - eventually - eventally - eventually - eventhough - even though - eventially - eventually - eventualy - eventually - everthing - everything - everytime - every time - everyting - everything - eveyr - every - evidentally - evidently - exagerate - exaggerate - exagerated - exaggerated - exagerates - exaggerates - exagerating - exaggerating - exagerrate - exaggerate - exagerrated - exaggerated - exagerrates - exaggerates - exagerrating - exaggerating - examinated - examined - exampt - exempt - exapansion - expansion - excact - exact - excange - exchange - excecute - execute - excecuted - executed - excecutes - executes - excecuting - executing - excecution - execution - excedded - exceeded - excelent - excellent - excell - excel - excellance - excellence - excellant - excellent - excells - excels - excercise - exercise - exchanching - exchanging - excisted - existed - exculsivly - exclusively - execising - exercising - exection - execution - exectued - executed - exeedingly - exceedingly - exelent - excellent - exellent - excellent - exemple - example - exept - except - exeptional - exceptional - exerbate - exacerbate - exerbated - exacerbated - exerciese - exercises - exerpt - excerpt - exerpts - excerpts - exersize - exercise - exerternal - external - exhalted - exalted - exhibtion - exhibition - exibition - exhibition - exibitions - exhibitions - exicting - exciting - exinct - extinct - existance - existence - existant - existent - existince - existence - exliled - exiled - exludes - excludes - exmaple - example - exonorate - exonerate - exoskelaton - exoskeleton - expalin - explain - expatriot - expatriate - expeced - expected - expecially - especially - expeditonary - expeditionary - expeiments - experiments - expell - expel - expells - expels - experiance - experience - experianced - experienced - expiditions - expeditions - expierence - experience - explaination - explanation - explaning - explaining - explictly - explicitly - exploititive - exploitative - explotation - exploitation - expropiated - expropriated - expropiation - expropriation - exressed - expressed - extemely - extremely - extention - extension - extentions - extensions - extered - exerted - extermist - extremist - extint - extinct - extradiction - extradition - extraterrestial - extraterrestrial - extraterrestials - extraterrestrials - extravagent - extravagant - extrememly - extremely - extremeophile - extremophile - extremly - extremely - extrordinarily - extraordinarily - extrordinary - extraordinary - eyar - year - eyars - years - eyasr - years - faciliate - facilitate - faciliated - facilitated - faciliates - facilitates - facilites - facilities - facillitate - facilitate - facinated - fascinated - facist - fascist - familes - families - familliar - familiar - famoust - famous - fanatism - fanaticism - fatc - fact - faught - fought - favoutrable - favourable - feasable - feasible - fedreally - federally - feromone - pheromone - fertily - fertility - fianite - finite - fianlly - finally - ficticious - fictitious - fictious - fictitious - fidn - find - fiercly - fiercely - fightings - fighting - filiament - filament - fimilies - families - finacial - financial - finaly - finally - financialy - financially - firends - friends - firts - first - fisionable - fissionable - flamable - flammable - flawess - flawless - fleed - fled - florescent - fluorescent - flourescent - fluorescent - flourine - fluorine - fluorish - flourish - follwoing - following - folowing - following - fomed - formed - fomr - from - fonetic - phonetic - fontrier - fontier - foootball - football - forbad - forbade - forbiden - forbidden - foreward - foreword - forfiet - forfeit - forhead - forehead - foriegn - foreign - formallize - formalize - formallized - formalized - formaly - formally - formelly - formerly - formidible - formidable - formost - foremost - forsaw - foresaw - forseeable - foreseeable - fortelling - foretelling - forunner - forerunner - foucs - focus - foudn - found - fougth - fought - foundaries - foundries - foundary - foundry - fourties - forties - fourty - forty - fouth - fourth - foward - forward - freind - friend - freindly - friendly - frequentily - frequently - frome - from - fromed - formed - froniter - frontier - fucntion - function - fucntioning - functioning - fufill - fulfill - fufilled - fulfilled - fulfiled - fulfilled - fullfill - fulfill - fullfilled - fulfilled - fundametal - fundamental - fundametals - fundamentals - funguses - fungi - funtion - function - furuther - further - futher - further - futhermore - furthermore - galatic - galactic - gallaxies - galaxies - galvinized - galvanized - ganerate - generate - ganes - games - ganster - gangster - garantee - guarantee - garanteed - guaranteed - garantees - guarantees - garnison - garrison - gaurantee - guarantee - gauranteed - guaranteed - gaurantees - guarantees - gaurd - guard - gaurentee - guarantee - gaurenteed - guaranteed - gaurentees - guarantees - geneological - genealogical - geneologies - genealogies - geneology - genealogy - generaly - generally - generatting - generating - genialia - genitalia - geographicial - geographical - geometrician - geometer - geometricians - geometers - gerat - great - glight - flight - gnawwed - gnawed - godess - goddess - godesses - goddesses - gogin - going - goign - going - gonig - going - gouvener - governor - govement - government - govenment - government - govenrment - government - goverance - governance - goverment - government - govermental - governmental - governer - governor - governmnet - government - govorment - government - govormental - governmental - govornment - government - gracefull - graceful - graet - great - grafitti - graffiti - gramatically - grammatically - grammaticaly - grammatically - grammer - grammar - grat - great - gratuitious - gratuitous - greatful - grateful - greatfully - gratefully - greif - grief - gridles - griddles - gropu - group - grwo - grow - guage - gauge - guarentee - guarantee - guarenteed - guaranteed - guarentees - guarantees - guerilla - guerrilla - guerillas - guerrillas - guerrila - guerrilla - guerrilas - guerrillas - guidence - guidance - gunanine - guanine - gurantee - guarantee - guranteed - guaranteed - gurantees - guarantees - guttaral - guttural - gutteral - guttural - habaeus - habeas - habeus - habeas - haemorrage - haemorrhage - haev - have - halp - help - hapen - happen - hapened - happened - hapening - happening - happend - happened - happended - happened - happenned - happened - harased - harassed - harases - harasses - harasment - harassment - harasments - harassments - harassement - harassment - harras - harass - harrased - harassed - harrases - harasses - harrasing - harassing - harrasment - harassment - harrasments - harassments - harrassed - harassed - harrasses - harassed - harrassing - harassing - harrassment - harassment - harrassments - harassments - hasnt - hasn't - haviest - heaviest - headquarer - headquarter - headquater - headquarter - headquatered - headquartered - headquaters - headquarters - healthercare - healthcare - heared - heard - heathy - healthy - heigher - higher - heirarchy - hierarchy - heiroglyphics - hieroglyphics - helment - helmet - helpfull - helpful - helpped - helped - hemmorhage - hemorrhage - herad - heard - heridity - heredity - heroe - hero - heros - heroes - hertiage - heritage - hertzs - hertz - hesistant - hesitant - heterogenous - heterogeneous - hieght - height - hierachical - hierarchical - hierachies - hierarchies - hierachy - hierarchy - hierarcical - hierarchical - hierarcy - hierarchy - hieroglph - hieroglyph - hieroglphs - hieroglyphs - higer - higher - higest - highest - higway - highway - hillarious - hilarious - himselv - himself - hinderance - hindrance - hinderence - hindrance - hindrence - hindrance - hipopotamus - hippopotamus - hismelf - himself - histocompatability - histocompatibility - historicians - historians - hitsingles - hit singles - holliday - holiday - homestate - home state - homogeneize - homogenize - homogeneized - homogenized - honory - honorary - horrifing - horrifying - hosited - hoisted - hospitible - hospitable - hounour - honour - housr - hours - howver - however - hsitorians - historians - hstory - history - hten - then - htere - there - htey - they - htikn - think - hting - thing - htink - think - htis - this - humer - humor - humerous - humorous - huminoid - humanoid - humoural - humoral - humurous - humorous - husban - husband - hvae - have - hvaing - having - hvea - have - hwihc - which - hwile - while - hwole - whole - hydogen - hydrogen - hydropile - hydrophile - hydropilic - hydrophilic - hydropobe - hydrophobe - hydropobic - hydrophobic - hygeine - hygiene - hypocracy - hypocrisy - hypocrasy - hypocrisy - hypocricy - hypocrisy - hypocrit - hypocrite - hypocrits - hypocrites - i - I - iconclastic - iconoclastic - idaeidae - idea - idaes - ideas - idealogies - ideologies - idealogy - ideology - identicial - identical - identifers - identifiers - ideosyncratic - idiosyncratic - idesa - ideas - idiosyncracy - idiosyncrasy - illegimacy - illegitimacy - illegitmate - illegitimate - illess - illness - illiegal - illegal - illution - illusion - ilness - illness - ilogical - illogical - imagenary - imaginary - imagin - imagine - imaginery - imaginary - imcomplete - incomplete - imediately - immediately - imense - immense - immediatley - immediately - immediatly - immediately - immidately - immediately - immidiately - immediately - immitate - imitate - immitated - imitated - immitating - imitating - immitator - imitator - immunosupressant - immunosuppressant - impecabbly - impeccably - impedence - impedance - implamenting - implementing - impliment - implement - implimented - implemented - imploys - employs - importamt - important - imprioned - imprisoned - imprisonned - imprisoned - improvision - improvisation - improvments - improvements - inablility - inability - inaccessable - inaccessible - inadiquate - inadequate - inadquate - inadequate - inadvertant - inadvertent - inadvertantly - inadvertently - inagurated - inaugurated - inaguration - inauguration - inappropiate - inappropriate - inaugures - inaugurates - inbalance - imbalance - inbalanced - imbalanced - inbetween - between - incarcirated - incarcerated - incidentially - incidentally - incidently - incidentally - inclreased - increased - includ - include - includng - including - incompatabilities - incompatibilities - incompatability - incompatibility - incompatable - incompatible - incompatablities - incompatibilities - incompatablity - incompatibility - incompatiblities - incompatibilities - incompatiblity - incompatibility - incompetance - incompetence - incompetant - incompetent - incomptable - incompatible - incomptetent - incompetent - inconsistant - inconsistent - incoroporated - incorporated - incorperation - incorporation - incorportaed - incorporated - incorprates - incorporates - incorruptable - incorruptible - incramentally - incrementally - increadible - incredible - incredable - incredible - inctroduce - introduce - inctroduced - introduced - incuding - including - incunabla - incunabula - indefinately - indefinitely - indefineable - undefinable - indefinitly - indefinitely - indentical - identical - indepedantly - independently - indepedence - independence - independance - independence - independant - independent - independantly - independently - independece - independence - independendet - independent - indespensable - indispensable - indespensible - indispensable - indictement - indictment - indigineous - indigenous - indipendence - independence - indipendent - independent - indipendently - independently - indispensible - indispensable - indisputible - indisputable - indisputibly - indisputably - indite - indict - individualy - individually - indpendent - independent - indpendently - independently - indulgue - indulge - indutrial - industrial - indviduals - individuals - inefficienty - inefficiently - inevatible - inevitable - inevitible - inevitable - inevititably - inevitably - infalability - infallibility - infallable - infallible - infectuous - infectious - infered - inferred - infilitrate - infiltrate - infilitrated - infiltrated - infilitration - infiltration - infinit - infinite - inflamation - inflammation - influencial - influential - influented - influenced - infomation - information - informtion - information - infrantryman - infantryman - infrigement - infringement - ingenius - ingenious - ingreediants - ingredients - inhabitans - inhabitants - inherantly - inherently - inheritence - inheritance - inital - initial - initally - initially - initation - initiation - initiaitive - initiative - inlcuding - including - inmigrant - immigrant - inmigrants - immigrants - innoculated - inoculated - inocence - innocence - inofficial - unofficial - inot - into - inpeach - impeach - inpolite - impolite - inprisonment - imprisonment - inproving - improving - insectiverous - insectivorous - insensative - insensitive - inseperable - inseparable - insistance - insistence - insitution - institution - insitutions - institutions - inspite - in spite - instade - instead - instatance - instance - institue - institute - instuction - instruction - instuments - instruments - instutionalized - institutionalized - instutions - intuitions - insurence - insurance - intelectual - intellectual - inteligence - intelligence - inteligent - intelligent - intenational - international - intented - intended - intepretation - interpretation - intepretator - interpretor - interational - international - interbread - interbreed - interchangable - interchangeable - interchangably - interchangeably - intercontinetal - intercontinental - intered - interred - interelated - interrelated - interferance - interference - interfereing - interfering - intergrated - integrated - intergration - integration - interm - interim - internation - international - interpet - interpret - interrim - interim - interrugum - interregnum - intertaining - entertaining - interupt - interrupt - intervines - intervenes - intevene - intervene - intial - initial - intially - initially - intrduced - introduced - intrest - interest - introdued - introduced - intruduced - introduced - intrument - instrument - intrumental - instrumental - intruments - instruments - intrusted - entrusted - intutive - intuitive - intutively - intuitively - inudstry - industry - inventer - inventor - invertibrates - invertebrates - investingate - investigate - involvment - involvement - irelevent - irrelevant - iresistable - irresistible - iresistably - irresistibly - iresistible - irresistible - iresistibly - irresistibly - iritable - irritable - iritated - irritated - ironicly - ironically - irregardless - regardless - irrelevent - irrelevant - irreplacable - irreplaceable - irresistable - irresistible - irresistably - irresistibly - isnt - isn't - issueing - issuing - itnroduced - introduced - iunior - junior - iwll - will - iwth - with - jaques - jacques - jeapardy - jeopardy - jewllery - jewellery - jouney - journey - journied - journeyed - journies - journeys - jstu - just - jsut - just - judical - judicial - judisuary - judiciary - juducial - judicial - juristiction - jurisdiction - juristictions - jurisdictions - kindergarden - kindergarten - klenex - kleenex - knifes - knives - knive - knife - knowlege - knowledge - knowlegeable - knowledgeable - knwo - know - knwos - knows - konw - know - konws - knows - kwno - know - labatory - laboratory - labratory - laboratory - laguage - language - laguages - languages - larg - large - largst - largest - larrry - larry - lastr - last - lattitude - latitude - launhed - launched - lavae - larvae - layed - laid - lazyness - laziness - leage - league - leanr - learn - leathal - lethal - lefted - left - legitamate - legitimate - legitmate - legitimate - leibnitz - leibniz - lenght - length - leran - learn - lerans - learns - leutenant - lieutenant - levetate - levitate - levetated - levitated - levetates - levitates - levetating - levitating - levle - level - liasion - liaison - liason - liaison - liasons - liaisons - libary - library - libell - libel - libguistic - linguistic - libguistics - linguistics - libitarianisn - libertarianism - lieing - lying - liek - like - liekd - liked - liesure - leisure - lieuenant - lieutenant - lieved - lived - liftime - lifetime - lightyear - light year - lightyears - light years - likelyhood - likelihood - linnaena - linnaean - lippizaner - lipizzaner - liquify - liquefy - liscense - license - lisence - license - lisense - license - listners - listeners - litature - literature - literaly - literally - literture - literature - littel - little - litterally - literally - liuke - like - livley - lively - lmits - limits - loev - love - lonelyness - loneliness - longitudonal - longitudinal - lonley - lonely - lonly - lonely - loosing - losing - lotharingen - lothringen - lsat - last - lukid - likud - lveo - love - lvoe - love - maching - machine - mackeral - mackerel - magasine - magazine - magincian - magician - magnificient - magnificent - magolia - magnolia - mailny - mainly - maintainance - maintenance - maintainence - maintenance - maintance - maintenance - maintenence - maintenance - maintinaing - maintaining - maintioned - mentioned - majoroty - majority - maked - marked - makse - makes - maltesian - Maltese - mamal - mammal - mamalian - mammalian - managable - manageable - managment - management - maneouvre - manoeuvre - maneouvred - manoeuvred - maneouvres - manoeuvres - maneouvring - manoeuvring - manisfestations - manifestations - manoeuverability - maneuverability - manouver - maneuver - manouverability - maneuverability - manouverable - maneuverable - manouvers - maneuvers - mantained - maintained - manuever - maneuver - manuevers - maneuvers - manufacturedd - manufactured - manufature - manufacture - manufatured - manufactured - manufaturing - manufacturing - manuver - maneuver - mariage - marriage - marjority - majority - markes - marks - marketting - marketing - marmelade - marmalade - marrage - marriage - marraige - marriage - marrtyred - martyred - marryied - married - massmedia - mass media - masterbation - masturbation - mataphysical - metaphysical - materalists - materialist - mathamatics - mathematics - mathematican - mathematician - mathematicas - mathematics - matheticians - mathematicians - mathmatically - mathematically - mathmatician - mathematician - mathmaticians - mathematicians - mccarthyst - mccarthyist - mchanics - mechanics - meaninng - meaning - mear - wear - mechandise - merchandise - medacine - medicine - medeival - medieval - medevial - medieval - mediciney - mediciny - medievel - medieval - mediterainnean - mediterranean - meerkrat - meerkat - melieux - milieux - membranaphone - membranophone - memeber - member - menally - mentally - meranda - Miranda - mercentile - mercantile - messanger - messenger - messenging - messaging - metalic - metallic - metalurgic - metallurgic - metalurgical - metallurgical - metalurgy - metallurgy - metamorphysis - metamorphosis - metaphoricial - metaphorical - meterologist - meteorologist - meterology - meteorology - methaphor - metaphor - methaphors - metaphors - micoscopy - microscopy - midwifes - midwives - mileau - milieu - milennia - millennia - milennium - millennium - mileu - milieu - miliary - military - milion - million - miliraty - military - millenia - millennia - millenial - millennial - millenialism - millennialism - millenium - millennium - millepede - millipede - millioniare - millionaire - millitary - military - millon - million - miltary - military - minature - miniature - minerial - mineral - miniscule - minuscule - ministery - ministry - minstries - ministries - minstry - ministry - minumum - minimum - mirrorred - mirrored - miscelaneous - miscellaneous - miscellanious - miscellaneous - miscellanous - miscellaneous - mischeivous - mischievous - mischevious - mischievous - mischievious - mischievous - misdameanor - misdemeanor - misdameanors - misdemeanors - misdemenor - misdemeanor - misdemenors - misdemeanors - misfourtunes - misfortunes - misile - missile - mispell - misspell - mispelled - misspelled - mispelling - misspelling - missen - mizzen - missle - missile - missonary - missionary - misterious - mysterious - mistery - mystery - misteryous - mysterious - mkae - make - mkaes - makes - mkaing - making - mkea - make - moderm - modem - modle - model - moent - moment - moeny - money - mohammedans - muslims - moil - soil - moleclues - molecules - momento - memento - monestaries - monasteries - monestary - monastery - monickers - monikers - monolite - monolithic - montains - mountains - montanous - mountainous - monts - months - montypic - monotypic - moreso - more so - morgage - mortgage - morroccan - moroccan - morrocco - morocco - morroco - morocco - mortage - mortgage - mosture - moisture - motiviated - motivated - mounth - month - movei - movie - movment - movement - mroe - more - mucuous - mucous - muder - murder - mudering - murdering - muhammadan - muslim - multicultralism - multiculturalism - multipled - multiplied - multiplers - multipliers - munbers - numbers - muncipalities - municipalities - muncipality - municipality - munnicipality - municipality - muscels - muscles - muscial - musical - muscician - musician - muscicians - musicians - mutiliated - mutilated - myraid - myriad - mysef - myself - mysogynist - misogynist - mysogyny - misogyny - mysterous - mysterious - naieve - naive - naturaly - naturally - naturely - naturally - naturual - natural - naturually - naturally - neccesarily - necessarily - neccesary - necessary - neccessarily - necessarily - neccessary - necessary - neccessities - necessities - necesarily - necessarily - necesary - necessary - necessiate - necessitate - neglible - negligible - negligable - negligible - negociate - negotiate - negociation - negotiation - negociations - negotiations - negotation - negotiation - neice - niece - neigborhood - neighborhood - neigbour - neighbour - neigbourhood - neighbourhood - neolitic - neolithic - nessasarily - necessarily - nessecary - necessary - nestin - nesting - neverthless - nevertheless - newletters - newsletters - nickle - nickel - nightfa;; - nightfall - nightime - nighttime - nineth - ninth - ninteenth - nineteenth - ninties - 1990s - ninty - ninety - nkow - know - nkwo - know - nmae - name - noncombatents - noncombatants - nonsence - nonsense - nontheless - nonetheless - noone - no one - norhern - northern - northen - northern - northereastern - northeastern - notabley - notably - noteable - notable - noteably - notably - noteriety - notoriety - noth - north - nothern - northern - noticable - noticeable - noticably - noticeably - noticeing - noticing - noticible - noticeable - notwhithstanding - notwithstanding - noveau - nouveau - nowdays - nowadays - nowe - now - nto - not - nucular - nuclear - nuculear - nuclear - nuisanse - nuisance - numberous - numerous - nusance - nuisance - nutritent - nutrient - nutritents - nutrients - nuturing - nurturing - obediance - obedience - obediant - obedient - obession - obsession - obssessed - obsessed - obstacal - obstacle - obstancles - obstacles - obstruced - obstructed - ocasion - occasion - ocasional - occasional - ocasionally - occasionally - ocasionaly - occasionally - ocasioned - occasioned - ocasions - occasions - ocassion - occasion - ocassional - occasional - ocassionally - occasionally - ocassionaly - occasionally - ocassioned - occasioned - ocassions - occasions - occaison - occasion - occassion - occasion - occassional - occasional - occassionally - occasionally - occassionaly - occasionally - occassioned - occasioned - occassions - occasions - occationally - occasionally - occour - occur - occurance - occurrence - occurances - occurrences - occured - occurred - occurence - occurrence - occurences - occurrences - occuring - occurring - occurr - occur - occurrance - occurrence - occurrances - occurrences - octohedra - octahedra - octohedral - octahedral - octohedron - octahedron - ocuntries - countries - ocuntry - country - ocurr - occur - ocurrance - occurrence - ocurred - occurred - ocurrence - occurrence - offcers - officers - offcially - officially - offereings - offerings - offical - official - offically - officially - officals - officials - officaly - officially - officialy - officially - offred - offered - oftenly - often - oging - going - omision - omission - omited - omitted - omiting - omitting - omlette - omelette - ommision - omission - ommited - omitted - ommiting - omitting - ommitted - omitted - ommitting - omitting - omniverous - omnivorous - omniverously - omnivorously - omre - more - onot - note - onxy - onyx - onyl - only - openess - openness - oponent - opponent - oportunity - opportunity - opose - oppose - oposite - opposite - oposition - opposition - oppenly - openly - oppinion - opinion - opponant - opponent - oppononent - opponent - oppositition - opposition - oppossed - opposed - opprotunity - opportunity - opression - oppression - opressive - oppressive - opthalmic - ophthalmic - opthalmologist - ophthalmologist - opthalmology - ophthalmology - opthamologist - ophthalmologist - optmizations - optimizations - optomism - optimism - orded - ordered - organim - organism - organistion - organisation - organiztion - organization - orgin - origin - orginal - original - orginally - originally - orginize - organise - oridinarily - ordinarily - origanaly - originally - originall - original - originaly - originally - originially - originally - originnally - originally - origional - original - orignally - originally - orignially - originally - otehr - other - oublisher - publisher - ouevre - oeuvre - oustanding - outstanding - overshaddowed - overshadowed - overthere - over there - overwelming - overwhelming - overwheliming - overwhelming - owrk - work - owudl - would - oxigen - oxygen - oximoron - oxymoron - p0enis - penis - paide - paid - paitience - patience - palce - place - paleolitic - paleolithic - paliamentarian - parliamentarian - pallete - palette - pamflet - pamphlet - pamplet - pamphlet - pantomine - pantomime - paralel - parallel - paralell - parallel - paralelly - parallelly - paralely - parallelly - parallely - parallelly - paranthesis - parenthesis - paraphenalia - paraphernalia - parellels - parallels - parituclar - particular - parliment - parliament - parrakeets - parakeets - parralel - parallel - parrallel - parallel - parrallell - parallel - parrallelly - parallelly - parrallely - parallelly - partialy - partially - particually - particularly - particualr - particular - particuarly - particularly - particularily - particularly - particulary - particularly - pary - party - pased - passed - pasengers - passengers - passerbys - passersby - pasttime - pastime - pastural - pastoral - paticular - particular - pattented - patented - pavillion - pavilion - payed - paid - pblisher - publisher - pbulisher - publisher - peacefuland - peaceful and - peageant - pageant - peculure - peculiar - pedestrain - pedestrian - peformed - performed - peice - piece - penatly - penalty - penerator - penetrator - penisula - peninsula - penisular - peninsular - penninsula - peninsula - penninsular - peninsular - pennisula - peninsula - pensinula - peninsula - peom - poem - peoms - poems - peopel - people - peotry - poetry - perade - parade - percepted - perceived - percieve - perceive - percieved - perceived - perenially - perennially - perfomance - performance - perfomers - performers - performence - performance - performes - performed - perhasp - perhaps - perheaps - perhaps - perhpas - perhaps - peripathetic - peripatetic - peristent - persistent - perjery - perjury - perjorative - pejorative - permanant - permanent - permenant - permanent - permenantly - permanently - permissable - permissible - perogative - prerogative - peronal - personal - perosnality - personality - perphas - perhaps - perpindicular - perpendicular - perseverence - perseverance - persistance - persistence - persistant - persistent - personel - personnel - personell - personnel - personnell - personnel - persuded - persuaded - persue - pursue - persued - pursued - persuing - pursuing - persuit - pursuit - persuits - pursuits - pertubation - perturbation - pertubations - perturbations - pessiary - pessary - petetion - petition - phenomenom - phenomenon - phenomenonal - phenomenal - phenomenonly - phenomenally - phenomonenon - phenomenon - phenomonon - phenomenon - phenonmena - phenomena - philisopher - philosopher - philisophical - philosophical - philisophy - philosophy - phillosophically - philosophically - philospher - philosopher - philosphies - philosophies - philosphy - philosophy - phongraph - phonograph - phylosophical - philosophical - physicaly - physically - piblisher - publisher - pich - pitch - pilgrimmage - pilgrimage - pilgrimmages - pilgrimages - pinapple - pineapple - pinnaple - pineapple - pinoneered - pioneered - plagarism - plagiarism - planation - plantation - planed - planned - plantiff - plaintiff - plateu - plateau - plausable - plausible - playright - playwright - playwrite - playwright - playwrites - playwrights - pleasent - pleasant - plebicite - plebiscite - plesant - pleasant - poenis - penis - poeoples - peoples - poety - poetry - poisin - poison - polical - political - polinator - pollinator - polinators - pollinators - politican - politician - politicans - politicians - poltical - political - polute - pollute - poluted - polluted - polutes - pollutes - poluting - polluting - polution - pollution - polyphonyic - polyphonic - polysaccaride - polysaccharide - polysaccharid - polysaccharide - pomegranite - pomegranate - pomotion - promotion - poportional - proportional - popoulation - population - popularaty - popularity - populare - popular - populer - popular - portait - portrait - portayed - portrayed - portraing - portraying - portuguease - portuguese - portugues - Portuguese - posess - possess - posessed - possessed - posesses - possesses - posessing - possessing - posession - possession - posessions - possessions - posion - poison - positon - position - possable - possible - possably - possibly - posseses - possesses - possesing - possessing - possesion - possession - possessess - possesses - possibile - possible - possibilty - possibility - possiblility - possibility - possiblilty - possibility - possiblities - possibilities - possiblity - possibility - possition - position - posthomous - posthumous - postion - position - postive - positive - potatos - potatoes - potrait - portrait - potrayed - portrayed - poulations - populations - poverful - powerful - poweful - powerful - powerfull - powerful - ppublisher - publisher - practial - practical - practially - practically - practicaly - practically - practicioner - practitioner - practicioners - practitioners - practicly - practically - practioner - practitioner - practioners - practitioners - prairy - prairie - prarie - prairie - praries - prairies - pratice - practice - preample - preamble - precedessor - predecessor - preceed - precede - preceeded - preceded - preceeding - preceding - preceeds - precedes - precentage - percentage - precice - precise - precisly - precisely - precurser - precursor - predecesors - predecessors - predicatble - predictable - predicitons - predictions - predomiantly - predominately - prefered - preferred - prefering - preferring - preferrably - preferably - pregancies - pregnancies - preiod - period - preliferation - proliferation - premeire - premiere - premeired - premiered - premillenial - premillennial - preminence - preeminence - premission - permission - preocupation - preoccupation - prepair - prepare - prepartion - preparation - prepatory - preparatory - preperation - preparation - preperations - preparations - preriod - period - presedential - presidential - presense - presence - presidenital - presidential - presidental - presidential - presitgious - prestigious - prespective - perspective - prestigeous - prestigious - prestigous - prestigious - presumabely - presumably - presumibly - presumably - pretection - protection - prevelant - prevalent - preverse - perverse - previvous - previous - pricipal - principal - priciple - principle - priestood - priesthood - primarly - primarily - primative - primitive - primatively - primitively - primatives - primitives - primordal - primordial - priveledges - privileges - privelege - privilege - priveleged - privileged - priveleges - privileges - privelige - privilege - priveliged - privileged - priveliges - privileges - privelleges - privileges - privilage - privilege - priviledge - privilege - priviledges - privileges - privledge - privilege - privte - private - probabilaty - probability - probablistic - probabilistic - probablly - probably - probalibity - probability - probaly - probably - probelm - problem - proccess - process - proccessing - processing - procede - proceed - proceded - proceeded - procedes - proceeds - procedger - procedure - proceding - proceeding - procedings - proceedings - proceedure - procedure - proces - process - processer - processor - proclaimation - proclamation - proclamed - proclaimed - proclaming - proclaiming - proclomation - proclamation - profesion - profession - profesor - professor - professer - professor - proffesed - professed - proffesion - profession - proffesional - professional - proffesor - professor - profilic - prolific - progessed - progressed - programable - programmable - progrom - program - progroms - programs - prohabition - prohibition - prologomena - prolegomena - prominance - prominence - prominant - prominent - prominantly - prominently - prominately - prominently - promiscous - promiscuous - promotted - promoted - pronomial - pronominal - pronouced - pronounced - pronounched - pronounced - pronounciation - pronunciation - proove - prove - prooved - proved - prophacy - prophecy - propietary - proprietary - propmted - prompted - propoganda - propaganda - propogate - propagate - propogates - propagates - propogation - propagation - propostion - proposition - propotions - proportions - propper - proper - propperly - properly - proprietory - proprietary - proseletyzing - proselytizing - protaganist - protagonist - protaganists - protagonists - protocal - protocol - protoganist - protagonist - protrayed - portrayed - protruberance - protuberance - protruberances - protuberances - prouncements - pronouncements - provacative - provocative - provded - provided - provicial - provincial - provinicial - provincial - provisiosn - provision - provisonal - provisional - proximty - proximity - pseudononymous - pseudonymous - pseudonyn - pseudonym - psuedo - pseudo - psycology - psychology - psyhic - psychic - pubilsher - publisher - pubisher - publisher - publiaher - publisher - publically - publicly - publicaly - publicly - publicher - publisher - publihser - publisher - publisehr - publisher - publiser - publisher - publisger - publisher - publisheed - published - publisherr - publisher - publishher - publisher - publishor - publisher - publishre - publisher - publissher - publisher - publlisher - publisher - publsiher - publisher - publusher - publisher - puchasing - purchasing - pulisher - publisher - pumkin - pumpkin - puplisher - publisher - puritannical - puritanical - purposedly - purposely - purpotedly - purportedly - pursuade - persuade - pursuaded - persuaded - pursuades - persuades - pususading - persuading - puting - putting - pwoer - power - pyscic - psychic - qtuie - quiet - quantaty - quantity - quantitiy - quantity - quarantaine - quarantine - questonable - questionable - quicklyu - quickly - quinessential - quintessential - quitted - quit - quizes - quizzes - qutie - quiet - rabinnical - rabbinical - racaus - raucous - radiactive - radioactive - radify - ratify - raelly - really - rarified - rarefied - reaccurring - recurring - reacing - reaching - reacll - recall - readmition - readmission - realitvely - relatively - realsitic - realistic - realtions - relations - realy - really - realyl - really - reasearch - research - rebiulding - rebuilding - rebllions - rebellions - rebounce - rebound - reccomend - recommend - reccomendations - recommendations - reccomended - recommended - reccomending - recommending - reccommend - recommend - reccommended - recommended - reccommending - recommending - reccuring - recurring - receeded - receded - receeding - receding - receivedfrom - received from - recepient - recipient - recepients - recipients - receving - receiving - rechargable - rechargeable - reched - reached - recide - reside - recided - resided - recident - resident - recidents - residents - reciding - residing - reciepents - recipients - reciept - receipt - recieve - receive - recieved - received - reciever - receiver - recievers - receivers - recieves - receives - recieving - receiving - recipiant - recipient - recipiants - recipients - recived - received - recivership - receivership - recogise - recognise - recogize - recognize - recomend - recommend - recomended - recommended - recomending - recommending - recomends - recommends - recommedations - recommendations - reconaissance - reconnaissance - reconcilation - reconciliation - reconized - recognized - reconnaisance - reconnaissance - reconnaissence - reconnaissance - recontructed - reconstructed - recordproducer - record producer - recquired - required - recrational - recreational - recrod - record - recuiting - recruiting - recuring - recurring - recurrance - recurrence - rediculous - ridiculous - reedeming - redeeming - reenforced - reinforced - refect - reflect - refedendum - referendum - referal - referral - referece - reference - refereces - references - refered - referred - referemce - reference - referemces - references - referencs - references - referenece - reference - refereneced - referenced - refereneces - references - referiang - referring - refering - referring - refernce - references - refernces - references - referrence - reference - referrences - references - referrs - refers - reffered - referred - refference - reference - reffering - referring - refrence - reference - refrences - references - refrers - refers - refridgeration - refrigeration - refridgerator - refrigerator - refromist - reformist - refusla - refusal - regardes - regards - regluar - regular - reguarly - regularly - regulaion - regulation - regulaotrs - regulators - regularily - regularly - rehersal - rehearsal - reicarnation - reincarnation - reigining - reigning - reknown - renown - reknowned - renowned - rela - real - relaly - really - relatiopnship - relationship - relativly - relatively - relected - reelected - releive - relieve - releived - relieved - releiver - reliever - releses - releases - relevence - relevance - relevent - relevant - reliablity - reliability - relient - reliant - religeous - religious - religous - religious - religously - religiously - relinqushment - relinquishment - relitavely - relatively - relized - realized - relpacement - replacement - remaing - remaining - remeber - remember - rememberable - memorable - rememberance - remembrance - remembrence - remembrance - remenant - remnant - remenicent - reminiscent - reminent - remnant - reminescent - reminiscent - reminscent - reminiscent - reminsicent - reminiscent - rendevous - rendezvous - rendezous - rendezvous - renedered - rende - renewl - renewal - rennovate - renovate - rennovated - renovated - rennovating - renovating - rennovation - renovation - rentors - renters - reoccurrence - recurrence - reorganision - reorganisation - repatition - repetition - repectively - respectively - repeition - repetition - repentence - repentance - repentent - repentant - repeteadly - repeatedly - repetion - repetition - repid - rapid - reponse - response - reponsible - responsible - reportadly - reportedly - represantative - representative - representive - representative - representives - representatives - reproducable - reproducible - reprtoire - repertoire - repsectively - respectively - reptition - repetition - requirment - requirement - requred - required - resaurant - restaurant - resembelance - resemblance - resembes - resembles - resemblence - resemblance - resevoir - reservoir - residental - residential - resignement - resignment - resistable - resistible - resistence - resistance - resistent - resistant - respectivly - respectively - responce - response - responibilities - responsibilities - responisble - responsible - responnsibilty - responsibility - responsability - responsibility - responsibile - responsible - responsibilites - responsibilities - responsiblities - responsibilities - responsiblity - responsibility - ressemblance - resemblance - ressemble - resemble - ressembled - resembled - ressemblence - resemblance - ressembling - resembling - resssurecting - resurrecting - ressurect - resurrect - ressurected - resurrected - ressurection - resurrection - ressurrection - resurrection - restarant - restaurant - restarants - restaurants - restaraunt - restaurant - restaraunteur - restaurateur - restaraunteurs - restaurateurs - restaraunts - restaurants - restauranteurs - restaurateurs - restauration - restoration - restauraunt - restaurant - resteraunt - restaurant - resteraunts - restaurants - resticted - restricted - restraunt - restraint - resturant - restaurant - resturants - restaurants - resturaunt - restaurant - resturaunts - restaurants - resurecting - resurrecting - retalitated - retaliated - retalitation - retaliation - retreive - retrieve - returnd - returned - revaluated - reevaluated - reveiw - review - reveral - reversal - reversable - reversible - revolutionar - revolutionary - rewitten - rewritten - rewriet - rewrite - rference - reference - rferences - references - rhymme - rhyme - rhythem - rhythm - rhythim - rhythm - rhytmic - rhythmic - rigourous - rigorous - rininging - ringing - rised - rose - rococco - rococo - rocord - record - roomate - roommate - rougly - roughly - rucuperate - recuperate - rudimentatry - rudimentary - rulle - rule - runing - running - runnung - running - russina - Russian - rwite - write - rythem - rhythm - rythim - rhythm - rythm - rhythm - rythmic - rhythmic - rythyms - rhythms - sacrafice - sacrifice - sacreligious - sacrilegious - sacrifical - sacrificial - saftey - safety - safty - safety - salery - salary - sanctionning - sanctioning - sandwhich - sandwich - santioned - sanctioned - sargant - sergeant - sargeant - sergeant - satelite - satellite - satelites - satellites - satisfactority - satisfactorily - satric - satiric - satrical - satirical - satrically - satirically - sattelite - satellite - sattelites - satellites - saught - sought - saveing - saving - saxaphone - saxophone - scaleable - scalable - scandanavia - Scandinavia - scaricity - scarcity - scavanged - scavenged - schedual - schedule - scholarhip - scholarship - scholarstic - scholastic - scientfic - scientific - scientifc - scientific - scientis - scientist - scince - science - scinece - science - scirpt - script - scoll - scroll - screenwrighter - screenwriter - scrutinity - scrutiny - scuptures - sculptures - seach - search - seached - searched - seaches - searches - secratary - secretary - secretery - secretary - sedereal - sidereal - seeked - sought - segementation - segmentation - seguoys - segues - seige - siege - seing - seeing - seinor - senior - seldomly - seldom - senarios - scenarios - senstive - sensitive - sensure - censure - seperate - separate - seperated - separated - seperately - separately - seperates - separates - seperating - separating - seperation - separation - seperatism - separatism - seperatist - separatist - sepina - subpoena - sergent - sergeant - settelement - settlement - settlment - settlement - severeal - several - severley - severely - severly - severely - sevice - service - shadasloo - shadaloo - shaddow - shadow - shadoloo - shadaloo - shamen - shaman - sheat - sheath - sheild - shield - sherif - sheriff - shineing - shining - shiped - shipped - shiping - shipping - shopkeeepers - shopkeepers - shorly - shortly - shortwhile - short while - shoudl - should - shoudln - shouldn't - shouldnt - shouldn't - shreak - shriek - shrinked - shrunk - sicne - since - sideral - sidereal - siezure - seizure - siezures - seizures - siginificant - significant - signficant - significant - signficiant - significant - signfies - signifies - signifantly - significantly - significently - significantly - signifigant - significant - signifigantly - significantly - signitories - signatories - signitory - signatory - similarily - similarly - similiar - similar - similiarity - similarity - similiarly - similarly - simmilar - similar - simpley - simply - simplier - simpler - simultanous - simultaneous - simultanously - simultaneously - sincerley - sincerely - singsog - singsong - sinse - since - skateing - skating - slaugterhouses - slaughterhouses - slighly - slightly - slowy - slowly - smae - same - smealting - smelting - smoe - some - sneeks - sneaks - snese - sneeze - socalism - socialism - socities - societies - soem - some - sofware - software - sohw - show - soilders - soldiers - solatary - solitary - soley - solely - soliders - soldiers - soliliquy - soliloquy - soluable - soluble - somene - someone - somtimes - sometimes - somwhere - somewhere - sophicated - sophisticated - sophmore - sophomore - sorceror - sorcerer - sorrounding - surrounding - sotry - story - sotyr - story - soudn - sound - soudns - sounds - sould - could - sountrack - soundtrack - sourth - south - sourthern - southern - souvenier - souvenir - souveniers - souvenirs - soveits - soviets - sovereignity - sovereignty - soverign - sovereign - soverignity - sovereignty - soverignty - sovereignty - spainish - Spanish - speach - speech - specfic - specific - speciallized - specialized - specifiying - specifying - speciman - specimen - spectauclar - spectacular - spectaulars - spectaculars - spectum - spectrum - speices - species - spendour - splendour - spermatozoan - spermatozoon - spoace - space - sponser - sponsor - sponsered - sponsored - spontanous - spontaneous - sponzored - sponsored - spoonfulls - spoonfuls - sppeches - speeches - spreaded - spread - sprech - speech - spred - spread - spriritual - spiritual - spritual - spiritual - sqaure - square - stablility - stability - stainlees - stainless - staion - station - standars - standards - stange - strange - startegic - strategic - startegies - strategies - startegy - strategy - stateman - statesman - statememts - statements - statment - statement - steriods - steroids - sterotypes - stereotypes - stilus - stylus - stingent - stringent - stiring - stirring - stirrs - stirs - stlye - style - stomache - stomach - stong - strong - stopry - story - storeis - stories - storise - stories - stornegst - strongest - stoyr - story - stpo - stop - stradegies - strategies - stradegy - strategy - strat - start - stratagically - strategically - streemlining - streamlining - stregth - strength - strenghen - strengthen - strenghened - strengthened - strenghening - strengthening - strenght - strength - strenghten - strengthen - strenghtened - strengthened - strenghtening - strengthening - strengtened - strengthened - strenous - strenuous - strictist - strictest - strikely - strikingly - strnad - strand - stroy - story - structual - structural - stubborness - stubbornness - stucture - structure - stuctured - structured - studdy - study - studing - studying - stuggling - struggling - sturcture - structure - subcatagories - subcategories - subcatagory - subcategory - subconsiously - subconsciously - subjudgation - subjugation - submachne - submachine - subpecies - subspecies - subsidary - subsidiary - subsiduary - subsidiary - subsquent - subsequent - subsquently - subsequently - substace - substance - substancial - substantial - substatial - substantial - substituded - substituted - substract - subtract - substracted - subtracted - substracting - subtracting - substraction - subtraction - substracts - subtracts - subtances - substances - subterranian - subterranean - suburburban - suburban - succceeded - succeeded - succcesses - successes - succedded - succeeded - succeded - succeeded - succeds - succeeds - succesful - successful - succesfully - successfully - succesfuly - successfully - succesion - succession - succesive - successive - successfull - successful - successully - successfully - succsess - success - succsessfull - successful - suceed - succeed - suceeded - succeeded - suceeding - succeeding - suceeds - succeeds - sucesful - successful - sucesfully - successfully - sucesfuly - successfully - sucesion - succession - sucess - success - sucesses - successes - sucessful - successful - sucessfull - successful - sucessfully - successfully - sucessfuly - successfully - sucession - succession - sucessive - successive - sucessor - successor - sucessot - successor - sucide - suicide - sucidial - suicidal - sufferage - suffrage - sufferred - suffered - sufferring - suffering - sufficent - sufficient - sufficently - sufficiently - sumary - summary - sunglases - sunglasses - suop - soup - superceeded - superseded - superintendant - superintendent - suphisticated - sophisticated - suplimented - supplemented - supose - suppose - suposed - supposed - suposedly - supposedly - suposes - supposes - suposing - supposing - supplamented - supplemented - suppliementing - supplementing - suppoed - supposed - supposingly - supposedly - suppy - supply - supress - suppress - supressed - suppressed - supresses - suppresses - supressing - suppressing - suprise - surprise - suprised - surprised - suprising - surprising - suprisingly - surprisingly - suprize - surprise - suprized - surprised - suprizing - surprising - suprizingly - surprisingly - surfce - surface - surley - surely - suround - surround - surounded - surrounded - surounding - surrounding - suroundings - surroundings - surounds - surrounds - surplanted - supplanted - surpress - suppress - surpressed - suppressed - surprize - surprise - surprized - surprised - surprizing - surprising - surprizingly - surprisingly - surrended - surrendered - surrepetitious - surreptitious - surrepetitiously - surreptitiously - surreptious - surreptitious - surreptiously - surreptitiously - surronded - surrounded - surrouded - surrounded - surrouding - surrounding - surrundering - surrendering - surveilence - surveillance - surveill - surveil - surveyer - surveyor - surviver - survivor - survivers - survivors - survivied - survived - suseptable - susceptible - suseptible - susceptible - suspention - suspension - swaer - swear - swaers - swears - swepth - swept - swiming - swimming - syas - says - symetrical - symmetrical - symetrically - symmetrically - symetry - symmetry - symettric - symmetric - symmetral - symmetric - symmetricaly - symmetrically - synagouge - synagogue - syncronization - synchronization - synonomous - synonymous - synonymns - synonyms - synphony - symphony - syphyllis - syphilis - sypmtoms - symptoms - syrap - syrup - sysmatically - systematically - sytem - system - sytle - style - tabacco - tobacco - tahn - than - taht - that - talekd - talked - targetted - targeted - targetting - targeting - tast - taste - tath - that - tattooes - tattoos - taxanomic - taxonomic - taxanomy - taxonomy - teached - taught - techician - technician - techicians - technicians - techiniques - techniques - technitian - technician - technnology - technology - technolgy - technology - teh - the - tehy - they - telelevision - television - televsion - television - telphony - telephony - temerature - temperature - tempalte - template - tempaltes - templates - temparate - temperate - temperarily - temporarily - temperment - temperament - tempertaure - temperature - temperture - temperature - temprary - temporary - tenacle - tentacle - tenacles - tentacles - tendacy - tendency - tendancies - tendencies - tendancy - tendency - tennisplayer - tennis player - tepmorarily - temporarily - terrestial - terrestrial - terriories - territories - terriory - territory - territorist - terrorist - territoy - territory - terroist - terrorist - testiclular - testicular - tghe - the - thast - that's - theather - theater - theese - these - theif - thief - theives - thieves - themselfs - themselves - themslves - themselves - ther - there - therafter - thereafter - therby - thereby - theri - their - theyre - they're - thgat - that - thge - the - thier - their - thign - thing - thigns - things - thigsn - things - thikn - think - thikning - thinking - thikns - thinks - thiunk - think - thn - then - thna - than - thne - then - thnig - thing - thnigs - things - thoughout - throughout - threatend - threatened - threatning - threatening - threee - three - threshhold - threshold - thrid - third - throrough - thorough - throughly - thoroughly - throught - throat - througout - throughout - thru - through - thsi - this - thsoe - those - thta - that - thyat - that - tiem - time - tihkn - think - tihs - this - timne - time - tiome - time - tje - the - tjhe - the - tjpanishad - upanishad - tkae - take - tkaes - takes - tkaing - taking - tlaking - talking - tobbaco - tobacco - todays - today's - todya - today - toghether - together - toke - took - tolerence - tolerance - tomatos - tomatoes - tommorow - tomorrow - tommorrow - tomorrow - tongiht - tonight - toriodal - toroidal - tormenters - tormentors - tornadoe - tornado - torpeados - torpedoes - torpedos - torpedoes - tothe - to the - toubles - troubles - tounge - tongue - tourch - torch - towords - towards - towrad - toward - tradionally - traditionally - traditionaly - traditionally - traditionnal - traditional - traditition - tradition - tradtionally - traditionally - trafficed - trafficked - trafficing - trafficking - trafic - traffic - trancendent - transcendent - trancending - transcending - tranform - transform - tranformed - transformed - transcendance - transcendence - transcendant - transcendent - transcendentational - transcendental - transcripting - transcribing - transending - transcending - transesxuals - transsexuals - transfered - transferred - transfering - transferring - transformaton - transformation - transistion - transition - translater - translator - translaters - translators - transmissable - transmissible - transporation - transportation - tremelo - tremolo - tremelos - tremolos - triguered - triggered - triology - trilogy - troling - trolling - troup - troupe - troups - troops - truely - truly - trustworthyness - trustworthiness - turnk - trunk - tust - trust - twelth - twelfth - twon - town - twpo - two - tyhat - that - tyhe - they - typcial - typical - typicaly - typically - tyranies - tyrannies - tyrany - tyranny - tyrranies - tyrannies - tyrrany - tyranny - ubiquitious - ubiquitous - ublisher - publisher - uise - use - ultimely - ultimately - unacompanied - unaccompanied - unahppy - unhappy - unanymous - unanimous - unathorised - unauthorised - unavailible - unavailable - unballance - unbalance - unbeknowst - unbeknownst - unbeleivable - unbelievable - uncertainity - uncertainty - unchallengable - unchallengeable - unchangable - unchangeable - uncompetive - uncompetitive - unconcious - unconscious - unconciousness - unconsciousness - unconfortability - discomfort - uncontitutional - unconstitutional - unconvential - unconventional - undecideable - undecidable - understoon - understood - undesireable - undesirable - undetecable - undetectable - undoubtely - undoubtedly - undreground - underground - uneccesary - unnecessary - unecessary - unnecessary - unequalities - inequalities - unforetunately - unfortunately - unforgetable - unforgettable - unforgiveable - unforgivable - unfortunatley - unfortunately - unfortunatly - unfortunately - unfourtunately - unfortunately - unihabited - uninhabited - unilateraly - unilaterally - unilatreal - unilateral - unilatreally - unilaterally - uninterruped - uninterrupted - uninterupted - uninterrupted - univeral - universal - univeristies - universities - univeristy - university - univerity - university - universtiy - university - univesities - universities - univesity - university - unkown - unknown - unlikey - unlikely - unmanouverable - unmaneuverable - unmistakeably - unmistakably - unneccesarily - unnecessarily - unneccesary - unnecessary - unneccessarily - unnecessarily - unneccessary - unnecessary - unnecesarily - unnecessarily - unnecesary - unnecessary - unoffical - unofficial - unoperational - nonoperational - unoticeable - unnoticeable - unplease - displease - unplesant - unpleasant - unprecendented - unprecedented - unprecidented - unprecedented - unrepentent - unrepentant - unrepetant - unrepentant - unrepetent - unrepentant - unsed - unused - unsubstanciated - unsubstantiated - unsuccesful - unsuccessful - unsuccesfully - unsuccessfully - unsuccessfull - unsuccessful - unsucesful - unsuccessful - unsucesfuly - unsuccessfully - unsucessful - unsuccessful - unsucessfull - unsuccessful - unsucessfully - unsuccessfully - unsuprised - unsurprised - unsuprising - unsurprising - unsuprisingly - unsurprisingly - unsuprized - unsurprised - unsuprizing - unsurprising - unsuprizingly - unsurprisingly - unsurprized - unsurprised - unsurprizing - unsurprising - unsurprizingly - unsurprisingly - untill - until - untranslateable - untranslatable - unuseable - unusable - unusuable - unusable - unviersity - university - unwarrented - unwarranted - unweildly - unwieldy - unwieldly - unwieldy - upcomming - upcoming - upgradded - upgraded - upto - up to - usally - usually - useage - usage - usefull - useful - usefuly - usefully - useing - using - usualy - usually - ususally - usually - vaccum - vacuum - vaccume - vacuum - vacinity - vicinity - vaguaries - vagaries - vaieties - varieties - vailidty - validity - valetta - valletta - valuble - valuable - valueable - valuable - varations - variations - varient - variant - variey - variety - varing - varying - varities - varieties - varity - variety - vasall - vassal - vasalls - vassals - vegatarian - vegetarian - vegitable - vegetable - vegitables - vegetables - vegtable - vegetable - vehicule - vehicle - vell - well - venemous - venomous - vengance - vengeance - vengence - vengeance - verfication - verification - verison - version - verisons - versions - vermillion - vermilion - versitilaty - versatility - versitlity - versatility - vetween - between - veyr - very - vigeur - vigor - vigilence - vigilance - vigourous - vigorous - villian - villain - villification - vilification - villify - vilify - villin - villain - vincinity - vicinity - violentce - violence - virtualy - virtually - virutal - virtual - virutally - virtually - visable - visible - visably - visibly - visting - visiting - vistors - visitors - vitories - victories - volcanoe - volcano - voleyball - volleyball - volontary - voluntary - volonteer - volunteer - volonteered - volunteered - volonteering - volunteering - volonteers - volunteers - volounteer - volunteer - volounteered - volunteered - volounteering - volunteering - volounteers - volunteers - volumne - volume - vreity - variety - vrey - very - vriety - variety - vulnerablility - vulnerability - vyer - very - vyre - very - waht - what - wanna - want to - warantee - warranty - wardobe - wardrobe - warrent - warrant - warrriors - warriors - wasnt - wasn't - wass - was - watn - want - wayword - wayward - weaponary - weaponry - weas - was - wehn - when - weild - wield - weilded - wielded - wendsay - Wednesday - wensday - Wednesday - wereabouts - whereabouts - whant - want - whants - wants - whcih - which - wheras - whereas - wherease - whereas - whereever - wherever - whic - which - whihc - which - whith - with - whlch - which - whn - when - wholey - wholly - wholy - holy - whta - what - whther - whether - wich - which - widesread - widespread - wief - wife - wierd - weird - wiew - view - wih - with - wiht - with - wille - will - willingless - willingness - wirting - writing - withdrawl - withdrawal - witheld - withheld - withh - with - withing - within - withold - withhold - witht - with - witn - with - wiull - will - wnat - want - wnated - wanted - wnats - wants - wohle - whole - wokr - work - wokring - working - wonderfull - wonderful - wont - won't - wordlwide - worldwide - workststion - workstation - worls - world - worstened - worsened - woudl - would - wresters - wrestlers - wriet - write - writen - written - wroet - wrote - wrok - work - wroking - working - wtih - with - wupport - support - xenophoby - xenophobia - yaching - yachting - yaer - year - yaerly - yearly - yaers - years - yatch - yacht - yearm - year - yeasr - years - yeild - yield - yeilding - yielding - yera - year - yeras - years - yersa - years - yotube - YouTube - youre - you're - youseff - yousef - youself - yourself - ytou - you - yuo - you - zeebra - zebra - - enabled - 1 - priority - 5 - + name + Abbreviations + replacements + + afaic + As far as I am concerned + afaik + As far as I know + afk + away from keyboard + atm + at the moment + bbiab + be back in a bit + bbl + be back later + brb + be right back + btw + by the way + fyi + For your information + fwiw + For what its worth + gtg + got to go + idk + I don't know + iirc + if I recall correctly + imho + in my humble opinion + imo + in my opinion + irl + in real life + np + no problem + nsfw + not safe for work + nvm + nevermind + tc + take care + thx + thanks + ttfn + ta-ta for now + ttyl + talk to you later + ty + thank you + tyvm + thank you very much + wb + welcome back + yw + you're welcome + yvw + you're very welcome + + + name + Spelling Corrections + replacements + + Amercia + America + Bernouilli + Bernoulli + Blitzkreig + Blitzkrieg + Bonnano + Bonanno + Brasillian + Brazilian + Britian + Britain + Brittish + British + Buddah + Buddha + Buddist + Buddhist + Cambrige + Cambridge + Capetown + Cape Town + Carmalite + Carmelite + Carnagie + Carnegie + Carnagie-Mellon + Carnegie-Mellon + Carnigie + Carnegie + Carnigie-Mellon + Carnegie-Mellon + Carribbean + Caribbean + Carribean + Caribbean + Carthagian + Carthaginian + Cataline + Catiline + Ceasar + Caesar + Celcius + Celsius + Champange + Champagne + Cincinatti + Cincinnati + Cincinnatti + Cincinnati + Conneticut + Connecticut + Dardenelles + Dardanelles + Dravadian + Dravidian + Enlish + English + Europian + European + Europians + Europeans + Eurpean + European + Eurpoean + European + Farenheit + Fahrenheit + Febuary + February + Feburary + February + Flemmish + Flemish + Formalhaut + Fomalhaut + Foundland + Newfoundland + Fransiscan + Franciscan + Fransiscans + Franciscans + Galations + Galatians + Gameboy + Game Boy + Ghandi + Gandhi + Godounov + Godunov + Gothenberg + Gothenburg + Gottleib + Gottlieb + Guaduloupe + Guadalupe + Guadulupe + Guadalupe + Guatamala + Guatemala + Guatamalan + Guatemalan + Guilia + Giulia + Guilio + Giulio + Guiness + Guinness + Guiseppe + Giuseppe + Habsbourg + Habsburg + Hallowean + Halloween + Heidelburg + Heidelberg + Ihaca + Ithaca + Israelies + Israelis + Janurary + January + Januray + January + Japanes + Japanese + Johanine + Johannine + Jospeh + Joseph + Juadaism + Judaism + Juadism + Judaism + Lybia + Libya + Malcom + Malcolm + Massachussets + Massachusetts + Massachussetts + Massachusetts + Mediteranean + Mediterranean + Michagan + Michigan + Misouri + Missouri + Missisipi + Mississippi + Missisippi + Mississippi + Monserrat + Montserrat + Montnana + Montana + Morisette + Morissette + Morrisette + Morissette + Mythraic + Mithraic + Naploeon + Napoleon + Napolean + Napoleon + Napoleonian + Napoleonic + Nazereth + Nazareth + Newyorker + New Yorker + Novermber + November + Nullabour + Nullarbor + Nuremburg + Nuremberg + Palistian + Palestinian + Palistinian + Palestinian + Palistinians + Palestinians + Papanicalou + Papanicolaou + Peloponnes + Peloponnesus + Pennyslvania + Pennsylvania + Pharoah + Pharaoh + Philipines + Philippines + Phillipine + Philippine + Phillipines + Philippines + Phillippines + Philippines + Phonecian + Phoenecian + Portugese + Portuguese + Postdam + Potsdam + Premonasterians + Premonstratensians + Pucini + Puccini + Puertorrican + Puerto Rican + Puertorricans + Puerto Ricans + Queenland + Queensland + Rockerfeller + Rockefeller + Russion + Russian + Sanhedrim + Sanhedrin + Saterday + Saturday + Saterdays + Saturdays + Sionist + Zionist + Sionists + Zionists + Sixtin + Sistine + Skagerak + Skagerrak + Tolkein + Tolkien + Tuscon + Tucson + Ukranian + Ukrainian + UnitesStates + UnitedStates + Yementite + Yemenite + abandonned + abandoned + aberation + aberration + abilties + abilities + abilty + ability + abondon + abandon + abondoned + abandoned + abondoning + abandoning + abondons + abandons + aborigene + aborigine + abortificant + abortifacient + abreviate + abbreviate + abreviated + abbreviated + abreviation + abbreviation + abritrary + arbitrary + absail + abseil + absailing + abseiling + absense + absence + absolutly + absolutely + absorbsion + absorption + absorbtion + absorption + abundacies + abundances + abundancies + abundances + abundunt + abundant + abutts + abuts + acadamy + academy + acadmic + academic + accademic + academic + accademy + academy + acccused + accused + accelleration + acceleration + accension + ascension + acceptence + acceptance + acceptible + acceptable + accessable + accessible + accidentaly + accidentally + accidently + accidentally + acclimitization + acclimatization + accomadate + accommodate + accomadated + accommodated + accomadates + accommodates + accomadating + accommodating + accomadation + accommodation + accomadations + accommodations + accomdate + accommodate + accomodate + accommodate + accomodated + accommodated + accomodates + accommodates + accomodating + accommodating + accomodation + accommodation + accomodations + accommodations + accompanyed + accompanied + accordeon + accordion + accordian + accordion + accoring + according + accoustic + acoustic + accquainted + acquainted + accrediation + accreditation + accredidation + accreditation + accross + across + accussed + accused + acedemic + academic + acheive + achieve + acheived + achieved + acheivement + achievement + acheivements + achievements + acheives + achieves + acheiving + achieving + acheivment + achievement + acheivments + achievements + achievment + achievement + achievments + achievements + achivement + achievement + achivements + achievements + acknowldeged + acknowledged + acknowledgeing + acknowledging + ackward + awkward + acommodate + accommodate + acomplish + accomplish + acomplished + accomplished + acomplishment + accomplishment + acomplishments + accomplishments + acording + according + acordingly + accordingly + acquaintence + acquaintance + acquaintences + acquaintances + acquiantence + acquaintance + acquiantences + acquaintances + acquited + acquitted + activites + activities + activly + actively + actualy + actually + acuracy + accuracy + acused + accused + acustom + accustom + acustommed + accustomed + adavanced + advanced + adbandon + abandon + additinally + additionally + additionaly + additionally + additonal + additional + additonally + additionally + addmission + admission + addopt + adopt + addopted + adopted + addoptive + adoptive + addres + address + addresable + addressable + addresed + addressed + addresing + addressing + addressess + addresses + addtion + addition + addtional + additional + adecuate + adequate + adequit + adequate + adhearing + adhering + adherance + adherence + admendment + amendment + admininistrative + administrative + adminstered + administered + adminstrate + administrate + adminstration + administration + adminstrative + administrative + adminstrator + administrator + admissability + admissibility + admissable + admissible + admited + admitted + admitedly + admittedly + adn + and + adolecent + adolescent + adquire + acquire + adquired + acquired + adquires + acquires + adquiring + acquiring + adres + address + adresable + addressable + adresing + addressing + adress + address + adressable + addressable + adressed + addressed + adressing + addressing + adventrous + adventurous + advertisment + advertisement + advertisments + advertisements + advesary + adversary + adviced + advised + aeriel + aerial + aeriels + aerials + afair + affair + afficianados + aficionados + afficionado + aficionado + afficionados + aficionados + affilate + affiliate + affilliate + affiliate + affort + afford + aforememtioned + aforementioned + againnst + against + agains + against + agaisnt + against + aganist + against + aggaravates + aggravates + aggreed + agreed + aggreement + agreement + aggregious + egregious + aggresive + aggressive + agian + again + agianst + against + agin + again + agina + again + aginst + against + agravate + aggravate + agre + agree + agred + agreed + agreeement + agreement + agreemnt + agreement + agregate + aggregate + agregates + aggregates + agreing + agreeing + agression + aggression + agressive + aggressive + agressively + aggressively + agressor + aggressor + agricuture + agriculture + agrieved + aggrieved + ahev + have + ahppen + happen + ahve + have + aicraft + aircraft + aiport + airport + airbourne + airborne + aircaft + aircraft + aircrafts + aircraft + airporta + airports + airrcraft + aircraft + aisian + asian + albiet + albeit + alchohol + alcohol + alchoholic + alcoholic + alchol + alcohol + alcholic + alcoholic + alcohal + alcohol + alcoholical + alcoholic + aledge + allege + aledged + alleged + aledges + alleges + alege + allege + aleged + alleged + alegience + allegiance + algebraical + algebraic + algorhitms + algorithms + algoritm + algorithm + algoritms + algorithms + alientating + alienating + alledge + allege + alledged + alleged + alledgedly + allegedly + alledges + alleges + allegedely + allegedly + allegedy + allegedly + allegely + allegedly + allegence + allegiance + allegience + allegiance + allign + align + alligned + aligned + alliviate + alleviate + allopone + allophone + allopones + allophones + allready + already + allthough + although + alltime + all-time + alltogether + altogether + almsot + almost + alochol + alcohol + alomst + almost + alot + a lot + alotted + allotted + alowed + allowed + alowing + allowing + alreayd + already + alse + else + alsot + also + alternitives + alternatives + altho + although + althought + although + altough + although + alusion + allusion + alwasy + always + alwyas + always + amalgomated + amalgamated + amatuer + amateur + amature + armature + amendmant + amendment + amerliorate + ameliorate + amke + make + amking + making + ammend + amend + ammended + amended + ammendment + amendment + ammendments + amendments + ammount + amount + ammused + amused + amoung + among + amoungst + amongst + amung + among + amunition + ammunition + analagous + analogous + analitic + analytic + analogeous + analogous + anarchim + anarchism + anarchistm + anarchism + anbd + and + ancestory + ancestry + ancilliary + ancillary + androgenous + androgynous + androgeny + androgyny + anihilation + annihilation + aniversary + anniversary + annoint + anoint + annointed + anointed + annointing + anointing + annoints + anoints + annouced + announced + annualy + annually + annuled + annulled + anohter + another + anomolies + anomalies + anomolous + anomalous + anomoly + anomaly + anonimity + anonymity + anounced + announced + anouncement + announcement + ansalisation + nasalisation + ansalization + nasalization + ansestors + ancestors + antartic + antarctic + anthromorphization + anthropomorphization + anthropolgist + anthropologist + anthropolgy + anthropology + anual + annual + anulled + annulled + anwsered + answered + anyhwere + anywhere + anyother + any other + anytying + anything + aparent + apparent + aparment + apartment + apenines + apennines + aplication + application + aplied + applied + apolegetics + apologetics + apon + apron + apparant + apparent + apparantly + apparently + appart + apart + appartment + apartment + appartments + apartments + appealling + appealing + appeareance + appearance + appearence + appearance + appearences + appearances + apperance + appearance + apperances + appearances + appereance + appearance + appereances + appearances + applicaiton + application + applicaitons + applications + appologies + apologies + appology + apology + apprearance + appearance + apprieciate + appreciate + approachs + approaches + appropiate + appropriate + appropraite + appropriate + appropropiate + appropriate + approproximate + approximate + approxamately + approximately + approxiately + approximately + approximitely + approximately + aprehensive + apprehensive + apropriate + appropriate + aproximate + approximate + aproximately + approximately + aquaduct + aqueduct + aquaintance + acquaintance + aquainted + acquainted + aquiantance + acquaintance + aquire + acquire + aquired + acquired + aquiring + acquiring + aquisition + acquisition + aquitted + acquitted + aranged + arranged + arangement + arrangement + arbitarily + arbitrarily + arbitary + arbitrary + archaelogists + archaeologists + archaelogy + archaeology + archaoelogy + archaeology + archaology + archaeology + archeaologist + archaeologist + archeaologists + archaeologists + archetect + architect + archetects + architects + archetectural + architectural + archetecturally + architecturally + archetecture + architecture + archiac + archaic + archictect + architect + archimedian + archimedean + architecht + architect + architechturally + architecturally + architechture + architecture + architechtures + architectures + architectual + architectural + archtype + archetype + archtypes + archetypes + aready + already + areodynamics + aerodynamics + argubly + arguably + arguement + argument + arguements + arguments + arised + arose + arival + arrival + armamant + armament + armistace + armistice + arogant + arrogant + arogent + arrogant + aroud + around + arrangment + arrangement + arrangments + arrangements + arround + around + artical + article + artice + article + articel + article + artifical + artificial + artifically + artificially + artillary + artillery + arund + around + asetic + ascetic + asfar + as far + asign + assign + aslo + also + asociated + associated + asorbed + absorbed + asphyxation + asphyxiation + assasin + assassin + assasinate + assassinate + assasinated + assassinated + assasinates + assassinates + assasination + assassination + assasinations + assassinations + assasined + assassinated + assasins + assassins + assassintation + assassination + assemple + assemble + assertation + assertion + asside + aside + assisnate + assassinate + assit + assist + assitant + assistant + assocation + association + assoicate + associate + assoicated + associated + assoicates + associates + assosication + assassination + asssassans + assassins + assualt + assault + assualted + assaulted + assymetric + asymmetric + assymetrical + asymmetrical + asteriod + asteroid + asthetic + aesthetic + asthetical + aesthetical + asthetically + aesthetically + asume + assume + aswell + as well + atain + attain + atempting + attempting + atheistical + atheistic + athenean + athenian + atheneans + athenians + athiesm + atheism + athiest + atheist + atorney + attorney + atribute + attribute + atributed + attributed + atributes + attributes + attaindre + attainder + attemp + attempt + attemped + attempted + attemt + attempt + attemted + attempted + attemting + attempting + attemts + attempts + attendence + attendance + attendent + attendant + attendents + attendants + attened + attended + attension + attention + attitide + attitude + attributred + attributed + attrocities + atrocities + audeince + audience + auromated + automated + austrailia + Australia + austrailian + Australian + auther + author + authobiographic + autobiographic + authobiography + autobiography + authorative + authoritative + authorites + authorities + authorithy + authority + authoritiers + authorities + authoritive + authoritative + authrorities + authorities + autochtonous + autochthonous + autoctonous + autochthonous + automaticly + automatically + automibile + automobile + automonomous + autonomous + autor + author + autority + authority + auxilary + auxiliary + auxillaries + auxiliaries + auxillary + auxiliary + auxilliaries + auxiliaries + auxilliary + auxiliary + availabe + available + availablity + availability + availaible + available + availble + available + availiable + available + availible + available + avalable + available + avalance + avalanche + avaliable + available + avation + aviation + avengence + a vengeance + averageed + averaged + avilable + available + awared + awarded + awya + away + baceause + because + backgorund + background + backrounds + backgrounds + bakc + back + banannas + bananas + bandwith + bandwidth + bankrupcy + bankruptcy + banruptcy + bankruptcy + baout + about + basicaly + basically + basicly + basically + bcak + back + beachead + beachhead + beacuse + because + beastiality + bestiality + beatiful + beautiful + beaurocracy + bureaucracy + beaurocratic + bureaucratic + beautyfull + beautiful + becamae + became + becames + becomes + becasue + because + beccause + because + becomeing + becoming + becomming + becoming + becouse + because + becuase + because + bedore + before + befoer + before + beggin + begin + begginer + beginner + begginers + beginners + beggining + beginning + begginings + beginnings + beggins + begins + begining + beginning + beginnig + beginning + behavour + behavior + beleagured + beleaguered + beleif + belief + beleive + believe + beleived + believed + beleives + believes + beleiving + believing + beligum + belgium + belive + believe + belived + believed + belives + believes + belligerant + belligerent + bellweather + bellwether + bemusemnt + bemusement + beneficary + beneficiary + beng + being + benificial + beneficial + benifit + benefit + benifits + benefits + bergamont + bergamot + beseige + besiege + beseiged + besieged + beseiging + besieging + betwen + between + beween + between + bewteen + between + bilateraly + bilaterally + billingualism + bilingualism + binominal + binomial + bizzare + bizarre + blaim + blame + blaimed + blamed + blessure + blessing + bodydbuilder + bodybuilder + bombardement + bombardment + bombarment + bombardment + bondary + boundary + borke + broke + boundry + boundary + bouyancy + buoyancy + bouyant + buoyant + boyant + buoyant + breakthough + breakthrough + breakthroughts + breakthroughs + breif + brief + breifly + briefly + brethen + brethren + bretheren + brethren + briliant + brilliant + brillant + brilliant + brimestone + brimstone + broacasted + broadcast + broadacasting + broadcasting + broady + broadly + buisness + business + buisnessman + businessman + buoancy + buoyancy + burried + buried + busineses + businesses + busness + business + bussiness + business + caculater + calculator + cacuses + caucuses + cahracters + characters + calaber + caliber + calculater + calculator + calculs + calculus + calenders + calendars + caligraphy + calligraphy + caluclate + calculate + caluclated + calculated + caluculate + calculate + caluculated + calculated + calulate + calculate + calulated + calculated + calulater + calculator + camoflage + camouflage + campain + campaign + campains + campaigns + candadate + candidate + candiate + candidate + candidiate + candidate + cannister + canister + cannisters + canisters + cannnot + cannot + cannonical + canonical + cannotation + connotation + cannotations + connotations + cant + can't + caost + coast + caperbility + capability + capible + capable + captial + capital + captued + captured + capturd + captured + carachter + character + caracterized + characterized + carcas + carcass + carefull + careful + careing + caring + carismatic + charismatic + carnege + carnage + carnige + carnage + carniverous + carnivorous + carreer + career + carrers + careers + cartdridge + cartridge + carthographer + cartographer + cartilege + cartilage + cartilidge + cartilage + cartrige + cartridge + casette + cassette + casion + caisson + cassawory + cassowary + cassowarry + cassowary + casulaties + casualties + casulaty + casualty + catagories + categories + catagorized + categorized + catagory + category + catapillar + caterpillar + catapillars + caterpillars + catapiller + caterpillar + catapillers + caterpillars + catepillar + caterpillar + catepillars + caterpillars + catergorize + categorize + catergorized + categorized + caterpilar + caterpillar + caterpilars + caterpillars + caterpiller + caterpillar + caterpillers + caterpillars + cathlic + catholic + catholocism + catholicism + catterpilar + caterpillar + catterpilars + caterpillars + catterpillar + caterpillar + catterpillars + caterpillars + cattleship + battleship + causalities + casualties + cellpading + cellpadding + cementary + cemetery + cemetarey + cemetery + cemetaries + cemeteries + cemetary + cemetery + cencus + census + censur + censor + cententenial + centennial + centruies + centuries + centruy + century + ceratin + certain + cerimonial + ceremonial + cerimonies + ceremonies + cerimonious + ceremonious + cerimony + ceremony + ceromony + ceremony + certainity + certainty + certian + certain + chalenging + challenging + challange + challenge + challanged + challenged + challege + challenge + changable + changeable + charachter + character + charachters + characters + charactersistic + characteristic + charactor + character + charactors + characters + charasmatic + charismatic + charaterized + characterized + chariman + chairman + charistics + characteristics + cheif + chief + cheifs + chiefs + chemcial + chemical + chemcially + chemically + chemestry + chemistry + chemicaly + chemically + childbird + childbirth + childen + children + choosen + chosen + chracter + character + chuch + church + churchs + churches + circulaton + circulation + circumsicion + circumcision + circut + circuit + ciricuit + circuit + ciriculum + curriculum + civillian + civilian + claer + clear + claerer + clearer + claerly + clearly + claimes + claims + clas + class + clasic + classic + clasical + classical + clasically + classically + cleareance + clearance + clera + clear + clincial + clinical + clinicaly + clinically + cmo + com + cmoputer + computer + co-incided + coincided + coctail + cocktail + coform + conform + cognizent + cognizant + coincedentally + coincidentally + colaborations + collaborations + colateral + collateral + colelctive + collective + collaberative + collaborative + collecton + collection + collegue + colleague + collegues + colleagues + collonade + colonnade + collonies + colonies + collony + colony + collosal + colossal + colonizators + colonizers + comander + commander + comando + commando + comandos + commandos + comany + company + comapany + company + comback + comeback + combanations + combinations + combinatins + combinations + combusion + combustion + comdemnation + condemnation + comemmorates + commemorates + comemoretion + commemoration + comision + commission + comisioned + commissioned + comisioner + commissioner + comisioning + commissioning + comisions + commissions + comission + commission + comissioned + commissioned + comissioner + commissioner + comissioning + commissioning + comissions + commissions + comited + committed + comiting + committing + comitted + committed + comittee + committee + comitting + committing + commandoes + commandos + commedic + comedic + commemerative + commemorative + commemmorate + commemorate + commemmorating + commemorating + commerical + commercial + commerically + commercially + commericial + commercial + commericially + commercially + commerorative + commemorative + comming + coming + comminication + communication + commision + commission + commisioned + commissioned + commisioner + commissioner + commisioning + commissioning + commisions + commissions + commited + committed + commitee + committee + commiting + committing + committe + committee + committment + commitment + committments + commitments + commmemorated + commemorated + commongly + commonly + commonweath + commonwealth + commuications + communications + commuinications + communications + communciation + communication + communiation + communication + communites + communities + compability + compatibility + comparision + comparison + comparisions + comparisons + comparitive + comparative + comparitively + comparatively + compatabilities + compatibilities + compatability + compatibility + compatable + compatible + compatablities + compatibilities + compatablity + compatibility + compatiable + compatible + compatiblities + compatibilities + compatiblity + compatibility + compeitions + competitions + compensantion + compensation + competance + competence + competant + competent + competative + competitive + competion + competition + competitiion + competition + competive + competitive + competiveness + competitiveness + comphrehensive + comprehensive + compitent + competent + completedthe + completed the + completelyl + completely + completetion + completion + complier + compiler + componant + component + comprable + comparable + comprimise + compromise + compulsary + compulsory + compulsery + compulsory + computarized + computerized + concensus + consensus + concider + consider + concidered + considered + concidering + considering + conciders + considers + concieted + conceited + concieved + conceived + concious + conscious + conciously + consciously + conciousness + consciousness + condamned + condemned + condemmed + condemned + condidtion + condition + condidtions + conditions + conditionsof + conditions of + conected + connected + conection + connection + conesencus + consensus + confidental + confidential + confidentally + confidentially + confids + confides + configureable + configurable + confortable + comfortable + congradulations + congratulations + congresional + congressional + conived + connived + conjecutre + conjecture + conjuction + conjunction + conotations + connotations + conquerd + conquered + conquerer + conqueror + conquerers + conquerors + conqured + conquered + conscent + consent + consciouness + consciousness + consdider + consider + consdidered + considered + consdiered + considered + consectutive + consecutive + consenquently + consequently + consentrate + concentrate + consentrated + concentrated + consentrates + concentrates + consept + concept + consequentually + consequently + consequeseces + consequences + consern + concern + conserned + concerned + conserning + concerning + conservitive + conservative + consiciousness + consciousness + consicousness + consciousness + considerd + considered + consideres + considered + consious + conscious + consistant + consistent + consistantly + consistently + consituencies + constituencies + consituency + constituency + consituted + constituted + consitution + constitution + consitutional + constitutional + consolodate + consolidate + consolodated + consolidated + consonent + consonant + consonents + consonants + consorcium + consortium + conspiracys + conspiracies + conspiriator + conspirator + constaints + constraints + constanly + constantly + constarnation + consternation + constatn + constant + constinually + continually + constituant + constituent + constituants + constituents + constituion + constitution + constituional + constitutional + consttruction + construction + constuction + construction + consulant + consultant + consumate + consummate + consumated + consummated + contaiminate + contaminate + containes + contains + contamporaries + contemporaries + contamporary + contemporary + contempoary + contemporary + contemporaneus + contemporaneous + contempory + contemporary + contendor + contender + contibute + contribute + contibuted + contributed + contibutes + contributes + contigent + contingent + contined + continued + continous + continuous + continously + continuously + continueing + continuing + contravercial + controversial + contraversy + controversy + contributer + contributor + contributers + contributors + contritutions + contributions + controled + controlled + controling + controlling + controll + control + controlls + controls + controvercial + controversial + controvercy + controversy + controveries + controversies + controversal + controversial + controversey + controversy + controvertial + controversial + controvery + controversy + contruction + construction + conveinent + convenient + convenant + covenant + convential + conventional + convertables + convertibles + convertion + conversion + conveyer + conveyor + conviced + convinced + convienient + convenient + coordiantion + coordination + coorperations + corporations + copmetitors + competitors + coputer + computer + copywrite + copyright + coridal + cordial + cornmitted + committed + corosion + corrosion + corparate + corporate + corperations + corporations + correcters + correctors + correponding + corresponding + correposding + corresponding + correspondant + correspondent + correspondants + correspondents + corridoors + corridors + corrispond + correspond + corrispondant + correspondent + corrispondants + correspondents + corrisponded + corresponded + corrisponding + corresponding + corrisponds + corresponds + costitution + constitution + coucil + council + counries + countries + countains + contains + countires + countries + coururier + courier + coverted + converted + cpoy + copy + creaeted + created + creedence + credence + critereon + criterion + criterias + criteria + criticists + critics + critising + criticising + critisising + criticising + critisism + criticism + critisisms + criticisms + critisize + criticise + critisized + criticised + critisizes + criticises + critisizing + criticising + critized + criticized + critizing + criticizing + crockodiles + crocodiles + crowm + crown + crtical + critical + crticised + criticised + crucifiction + crucifixion + crusies + cruises + crystalisation + crystallisation + culiminating + culminating + cumulatative + cumulative + curch + church + curcuit + circuit + currenly + currently + curriculem + curriculum + cxan + cyan + cyclinder + cylinder + dacquiri + daiquiri + dael + deal + dalmation + dalmatian + damenor + demeanor + dammage + damage + daugher + daughter + debateable + debatable + decendant + descendant + decendants + descendants + decendent + descendant + decendents + descendants + decideable + decidable + decidely + decidedly + decieved + deceived + decison + decision + decomissioned + decommissioned + decomposit + decompose + decomposited + decomposed + decompositing + decomposing + decomposits + decomposes + decress + decrees + decribe + describe + decribed + described + decribes + describes + decribing + describing + dectect + detect + defendent + defendant + defendents + defendants + deffensively + defensively + deffine + define + deffined + defined + definance + defiance + definate + definite + definately + definitely + definatly + definitely + definetly + definitely + definining + defining + definit + definite + definitly + definitely + definiton + definition + defintion + definition + degrate + degrade + delagates + delegates + delapidated + dilapidated + delerious + delirious + delevopment + development + deliberatly + deliberately + delusionally + delusively + demenor + demeanor + demographical + demographic + demolision + demolition + demorcracy + democracy + demostration + demonstration + denegrating + denigrating + densly + densely + deparment + department + deparmental + departmental + deparments + departments + dependance + dependence + dependancy + dependency + dependant + dependent + deram + dream + deriviated + derived + derivitive + derivative + derogitory + derogatory + descendands + descendants + descibed + described + descision + decision + descisions + decisions + descriibes + describes + descripters + descriptors + descripton + description + desctruction + destruction + descuss + discuss + desgined + designed + deside + decide + desigining + designing + desinations + destinations + desintegrated + disintegrated + desintegration + disintegration + desireable + desirable + desitned + destined + desktiop + desktop + desorder + disorder + desoriented + disoriented + desparate + desperate + despict + depict + despiration + desperation + dessicated + desiccated + dessigned + designed + destablized + destabilized + destory + destroy + detailled + detailed + detatched + detached + deteoriated + deteriorated + deteriate + deteriorate + deterioriating + deteriorating + determinining + determining + detremental + detrimental + devasted + devastated + develope + develop + developement + development + developped + developed + develpment + development + devels + delves + devestated + devastated + devestating + devastating + devide + divide + devided + divided + devistating + devastating + devolopement + development + diablical + diabolical + diamons + diamonds + diaster + disaster + dichtomy + dichotomy + diconnects + disconnects + dicover + discover + dicovered + discovered + dicovering + discovering + dicovers + discovers + dicovery + discovery + dicussed + discussed + didnt + didn't + diea + idea + dieing + dying + dieties + deities + diety + deity + diferent + different + diferrent + different + differentiatiations + differentiations + differnt + different + difficulity + difficulty + diffrent + different + dificulties + difficulties + dificulty + difficulty + dimenions + dimensions + dimention + dimension + dimentional + dimensional + dimentions + dimensions + dimesnional + dimensional + diminuitive + diminutive + dimunitive + diminutive + diosese + diocese + diphtong + diphthong + diphtongs + diphthongs + diplomancy + diplomacy + dipthong + diphthong + dipthongs + diphthongs + dirived + derived + disagreeed + disagreed + disapeared + disappeared + disapointing + disappointing + disappearred + disappeared + disaproval + disapproval + disasterous + disastrous + disatisfaction + dissatisfaction + disatisfied + dissatisfied + disatrous + disastrous + discontentment + discontent + discribe + describe + discribed + described + discribes + describes + discribing + describing + disctinction + distinction + disctinctive + distinctive + disemination + dissemination + disenchanged + disenchanted + disiplined + disciplined + disobediance + disobedience + disobediant + disobedient + disolved + dissolved + disover + discover + dispair + despair + disparingly + disparagingly + dispence + dispense + dispenced + dispensed + dispencing + dispensing + dispicable + despicable + dispite + despite + dispostion + disposition + disproportiate + disproportionate + disputandem + disputandum + disricts + districts + dissagreement + disagreement + dissapear + disappear + dissapearance + disappearance + dissapeared + disappeared + dissapearing + disappearing + dissapears + disappears + dissappear + disappear + dissappears + disappears + dissappointed + disappointed + dissarray + disarray + dissobediance + disobedience + dissobediant + disobedient + dissobedience + disobedience + dissobedient + disobedient + distiction + distinction + distingish + distinguish + distingished + distinguished + distingishes + distinguishes + distingishing + distinguishing + distingquished + distinguished + distrubution + distribution + distruction + destruction + distructive + destructive + ditributed + distributed + diversed + diverged + divice + device + divison + division + divisons + divisions + doccument + document + doccumented + documented + doccuments + documents + docrines + doctrines + doctines + doctrines + documenatry + documentary + doens + does + doesnt + doesn't + doign + doing + dominaton + domination + dominent + dominant + dominiant + dominant + donig + doing + dont + don't + dosen't + doesn't + doub + doubt + doulbe + double + dowloads + downloads + dramtic + dramatic + draughtman + draughtsman + dreasm + dreams + driectly + directly + drnik + drink + druming + drumming + drummless + drumless + dupicate + duplicate + durig + during + durring + during + duting + during + dyas + dryas + eahc + each + ealier + earlier + earlies + earliest + earnt + earned + ecclectic + eclectic + eceonomy + economy + ecidious + deciduous + eclispe + eclipse + ecomonic + economic + ect + etc + eearly + early + efel + evil + effeciency + efficiency + effecient + efficient + effeciently + efficiently + efficency + efficiency + efficent + efficient + efficently + efficiently + efford + effort + effords + efforts + effulence + effluence + eigth + eight + eiter + either + elction + election + electic + electric + electon + electron + electrial + electrical + electricly + electrically + electricty + electricity + elementay + elementary + eleminated + eliminated + eleminating + eliminating + eles + eels + eletricity + electricity + elicided + elicited + eligable + eligible + elimentary + elementary + ellected + elected + elphant + elephant + embarass + embarrass + embarassed + embarrassed + embarassing + embarrassing + embarassment + embarrassment + embargos + embargoes + embarras + embarrass + embarrased + embarrassed + embarrasing + embarrassing + embarrasment + embarrassment + embezelled + embezzled + emblamatic + emblematic + eminate + emanate + eminated + emanated + emision + emission + emited + emitted + emiting + emitting + emition + emission + emmediately + immediately + emmigrated + immigrated + emminently + eminently + emmisaries + emissaries + emmisarries + emissaries + emmisarry + emissary + emmisary + emissary + emmision + emission + emmisions + emissions + emmited + emitted + emmiting + emitting + emmitted + emitted + emmitting + emitting + emnity + enmity + emperical + empirical + emphaised + emphasised + emphsis + emphasis + emphysyma + emphysema + emprisoned + imprisoned + enameld + enameled + enchancement + enhancement + encouraing + encouraging + encryptiion + encryption + encylopedia + encyclopedia + endevors + endeavors + endevour + endeavour + endig + ending + endolithes + endoliths + enduce + induce + ened + need + enflamed + inflamed + enforceing + enforcing + engagment + engagement + engeneer + engineer + engeneering + engineering + engieneer + engineer + engieneers + engineers + enlargment + enlargement + enlargments + enlargements + enourmous + enormous + enourmously + enormously + ensconsed + ensconced + entaglements + entanglements + enteratinment + entertainment + enthusiatic + enthusiastic + entitity + entity + entitlied + entitled + entrepeneur + entrepreneur + entrepeneurs + entrepreneurs + enviorment + environment + enviormental + environmental + enviormentally + environmentally + enviorments + environments + enviornment + environment + enviornmental + environmental + enviornmentalist + environmentalist + enviornmentally + environmentally + enviornments + environments + enviroment + environment + enviromental + environmental + enviromentalist + environmentalist + enviromentally + environmentally + enviroments + environments + envolutionary + evolutionary + envrionments + environments + enxt + next + epidsodes + episodes + epsiode + episode + equialent + equivalent + equilibium + equilibrium + equilibrum + equilibrium + equiped + equipped + equippment + equipment + equitorial + equatorial + equivelant + equivalent + equivelent + equivalent + equivilant + equivalent + equivilent + equivalent + equivlalent + equivalent + erally + really + eratic + erratic + eratically + erratically + eraticly + erratically + errupted + erupted + esential + essential + esitmated + estimated + esle + else + especialy + especially + essencial + essential + essense + essence + essentail + essential + essentialy + essentially + essentual + essential + essesital + essential + estabishes + establishes + establising + establishing + ethnocentricm + ethnocentrism + ethose + those + evenhtually + eventually + eventally + eventually + eventhough + even though + eventially + eventually + eventualy + eventually + everthing + everything + everytime + every time + everyting + everything + eveyr + every + evidentally + evidently + exagerate + exaggerate + exagerated + exaggerated + exagerates + exaggerates + exagerating + exaggerating + exagerrate + exaggerate + exagerrated + exaggerated + exagerrates + exaggerates + exagerrating + exaggerating + examinated + examined + exampt + exempt + exapansion + expansion + excact + exact + excange + exchange + excecute + execute + excecuted + executed + excecutes + executes + excecuting + executing + excecution + execution + excedded + exceeded + excelent + excellent + excell + excel + excellance + excellence + excellant + excellent + excells + excels + excercise + exercise + exchanching + exchanging + excisted + existed + exculsivly + exclusively + execising + exercising + exection + execution + exectued + executed + exeedingly + exceedingly + exelent + excellent + exellent + excellent + exemple + example + exept + except + exeptional + exceptional + exerbate + exacerbate + exerbated + exacerbated + exerciese + exercises + exerpt + excerpt + exerpts + excerpts + exersize + exercise + exerternal + external + exhalted + exalted + exhibtion + exhibition + exibition + exhibition + exibitions + exhibitions + exicting + exciting + exinct + extinct + existance + existence + existant + existent + existince + existence + exliled + exiled + exludes + excludes + exmaple + example + exonorate + exonerate + exoskelaton + exoskeleton + expalin + explain + expatriot + expatriate + expeced + expected + expecially + especially + expeditonary + expeditionary + expeiments + experiments + expell + expel + expells + expels + experiance + experience + experianced + experienced + expiditions + expeditions + expierence + experience + explaination + explanation + explaning + explaining + explictly + explicitly + exploititive + exploitative + explotation + exploitation + expropiated + expropriated + expropiation + expropriation + exressed + expressed + extemely + extremely + extention + extension + extentions + extensions + extered + exerted + extermist + extremist + extint + extinct + extradiction + extradition + extraterrestial + extraterrestrial + extraterrestials + extraterrestrials + extravagent + extravagant + extrememly + extremely + extremeophile + extremophile + extremly + extremely + extrordinarily + extraordinarily + extrordinary + extraordinary + eyar + year + eyars + years + eyasr + years + faciliate + facilitate + faciliated + facilitated + faciliates + facilitates + facilites + facilities + facillitate + facilitate + facinated + fascinated + facist + fascist + familes + families + familliar + familiar + famoust + famous + fanatism + fanaticism + fatc + fact + faught + fought + favoutrable + favourable + feasable + feasible + fedreally + federally + feromone + pheromone + fertily + fertility + fianite + finite + fianlly + finally + ficticious + fictitious + fictious + fictitious + fidn + find + fiercly + fiercely + fightings + fighting + filiament + filament + fimilies + families + finacial + financial + finaly + finally + financialy + financially + firends + friends + firts + first + fisionable + fissionable + flamable + flammable + flawess + flawless + fleed + fled + florescent + fluorescent + flourescent + fluorescent + flourine + fluorine + fluorish + flourish + follwoing + following + folowing + following + fomed + formed + fomr + from + fonetic + phonetic + fontrier + fontier + foootball + football + forbad + forbade + forbiden + forbidden + foreward + foreword + forfiet + forfeit + forhead + forehead + foriegn + foreign + formallize + formalize + formallized + formalized + formaly + formally + formelly + formerly + formidible + formidable + formost + foremost + forsaw + foresaw + forseeable + foreseeable + fortelling + foretelling + forunner + forerunner + foucs + focus + foudn + found + fougth + fought + foundaries + foundries + foundary + foundry + fourties + forties + fourty + forty + fouth + fourth + foward + forward + freind + friend + freindly + friendly + frequentily + frequently + frome + from + fromed + formed + froniter + frontier + fucntion + function + fucntioning + functioning + fufill + fulfill + fufilled + fulfilled + fulfiled + fulfilled + fullfill + fulfill + fullfilled + fulfilled + fundametal + fundamental + fundametals + fundamentals + funguses + fungi + funtion + function + furuther + further + futher + further + futhermore + furthermore + galatic + galactic + gallaxies + galaxies + galvinized + galvanized + ganerate + generate + ganes + games + ganster + gangster + garantee + guarantee + garanteed + guaranteed + garantees + guarantees + garnison + garrison + gaurantee + guarantee + gauranteed + guaranteed + gaurantees + guarantees + gaurd + guard + gaurentee + guarantee + gaurenteed + guaranteed + gaurentees + guarantees + geneological + genealogical + geneologies + genealogies + geneology + genealogy + generaly + generally + generatting + generating + genialia + genitalia + geographicial + geographical + geometrician + geometer + geometricians + geometers + gerat + great + glight + flight + gnawwed + gnawed + godess + goddess + godesses + goddesses + gogin + going + goign + going + gonig + going + gouvener + governor + govement + government + govenment + government + govenrment + government + goverance + governance + goverment + government + govermental + governmental + governer + governor + governmnet + government + govorment + government + govormental + governmental + govornment + government + gracefull + graceful + graet + great + grafitti + graffiti + gramatically + grammatically + grammaticaly + grammatically + grammer + grammar + grat + great + gratuitious + gratuitous + greatful + grateful + greatfully + gratefully + greif + grief + gridles + griddles + gropu + group + grwo + grow + guage + gauge + guarentee + guarantee + guarenteed + guaranteed + guarentees + guarantees + guerilla + guerrilla + guerillas + guerrillas + guerrila + guerrilla + guerrilas + guerrillas + guidence + guidance + gunanine + guanine + gurantee + guarantee + guranteed + guaranteed + gurantees + guarantees + guttaral + guttural + gutteral + guttural + habaeus + habeas + habeus + habeas + haemorrage + haemorrhage + haev + have + halp + help + hapen + happen + hapened + happened + hapening + happening + happend + happened + happended + happened + happenned + happened + harased + harassed + harases + harasses + harasment + harassment + harasments + harassments + harassement + harassment + harras + harass + harrased + harassed + harrases + harasses + harrasing + harassing + harrasment + harassment + harrasments + harassments + harrassed + harassed + harrasses + harassed + harrassing + harassing + harrassment + harassment + harrassments + harassments + hasnt + hasn't + haviest + heaviest + headquarer + headquarter + headquater + headquarter + headquatered + headquartered + headquaters + headquarters + healthercare + healthcare + heared + heard + heathy + healthy + heigher + higher + heirarchy + hierarchy + heiroglyphics + hieroglyphics + helment + helmet + helpfull + helpful + helpped + helped + hemmorhage + hemorrhage + herad + heard + heridity + heredity + heroe + hero + heros + heroes + hertiage + heritage + hertzs + hertz + hesistant + hesitant + heterogenous + heterogeneous + hieght + height + hierachical + hierarchical + hierachies + hierarchies + hierachy + hierarchy + hierarcical + hierarchical + hierarcy + hierarchy + hieroglph + hieroglyph + hieroglphs + hieroglyphs + higer + higher + higest + highest + higway + highway + hillarious + hilarious + himselv + himself + hinderance + hindrance + hinderence + hindrance + hindrence + hindrance + hipopotamus + hippopotamus + hismelf + himself + histocompatability + histocompatibility + historicians + historians + hitsingles + hit singles + holliday + holiday + homestate + home state + homogeneize + homogenize + homogeneized + homogenized + honory + honorary + horrifing + horrifying + hosited + hoisted + hospitible + hospitable + hounour + honour + housr + hours + howver + however + hsitorians + historians + hstory + history + hten + then + htere + there + htey + they + htikn + think + hting + thing + htink + think + htis + this + humer + humor + humerous + humorous + huminoid + humanoid + humoural + humoral + humurous + humorous + husban + husband + hvae + have + hvaing + having + hvea + have + hwihc + which + hwile + while + hwole + whole + hydogen + hydrogen + hydropile + hydrophile + hydropilic + hydrophilic + hydropobe + hydrophobe + hydropobic + hydrophobic + hygeine + hygiene + hypocracy + hypocrisy + hypocrasy + hypocrisy + hypocricy + hypocrisy + hypocrit + hypocrite + hypocrits + hypocrites + i + I + iconclastic + iconoclastic + idaeidae + idea + idaes + ideas + idealogies + ideologies + idealogy + ideology + identicial + identical + identifers + identifiers + ideosyncratic + idiosyncratic + idesa + ideas + idiosyncracy + idiosyncrasy + illegimacy + illegitimacy + illegitmate + illegitimate + illess + illness + illiegal + illegal + illution + illusion + ilness + illness + ilogical + illogical + imagenary + imaginary + imagin + imagine + imaginery + imaginary + imcomplete + incomplete + imediately + immediately + imense + immense + immediatley + immediately + immediatly + immediately + immidately + immediately + immidiately + immediately + immitate + imitate + immitated + imitated + immitating + imitating + immitator + imitator + immunosupressant + immunosuppressant + impecabbly + impeccably + impedence + impedance + implamenting + implementing + impliment + implement + implimented + implemented + imploys + employs + importamt + important + imprioned + imprisoned + imprisonned + imprisoned + improvision + improvisation + improvments + improvements + inablility + inability + inaccessable + inaccessible + inadiquate + inadequate + inadquate + inadequate + inadvertant + inadvertent + inadvertantly + inadvertently + inagurated + inaugurated + inaguration + inauguration + inappropiate + inappropriate + inaugures + inaugurates + inbalance + imbalance + inbalanced + imbalanced + inbetween + between + incarcirated + incarcerated + incidentially + incidentally + incidently + incidentally + inclreased + increased + includ + include + includng + including + incompatabilities + incompatibilities + incompatability + incompatibility + incompatable + incompatible + incompatablities + incompatibilities + incompatablity + incompatibility + incompatiblities + incompatibilities + incompatiblity + incompatibility + incompetance + incompetence + incompetant + incompetent + incomptable + incompatible + incomptetent + incompetent + inconsistant + inconsistent + incoroporated + incorporated + incorperation + incorporation + incorportaed + incorporated + incorprates + incorporates + incorruptable + incorruptible + incramentally + incrementally + increadible + incredible + incredable + incredible + inctroduce + introduce + inctroduced + introduced + incuding + including + incunabla + incunabula + indefinately + indefinitely + indefineable + undefinable + indefinitly + indefinitely + indentical + identical + indepedantly + independently + indepedence + independence + independance + independence + independant + independent + independantly + independently + independece + independence + independendet + independent + indespensable + indispensable + indespensible + indispensable + indictement + indictment + indigineous + indigenous + indipendence + independence + indipendent + independent + indipendently + independently + indispensible + indispensable + indisputible + indisputable + indisputibly + indisputably + indite + indict + individualy + individually + indpendent + independent + indpendently + independently + indulgue + indulge + indutrial + industrial + indviduals + individuals + inefficienty + inefficiently + inevatible + inevitable + inevitible + inevitable + inevititably + inevitably + infalability + infallibility + infallable + infallible + infectuous + infectious + infered + inferred + infilitrate + infiltrate + infilitrated + infiltrated + infilitration + infiltration + infinit + infinite + inflamation + inflammation + influencial + influential + influented + influenced + infomation + information + informtion + information + infrantryman + infantryman + infrigement + infringement + ingenius + ingenious + ingreediants + ingredients + inhabitans + inhabitants + inherantly + inherently + inheritence + inheritance + inital + initial + initally + initially + initation + initiation + initiaitive + initiative + inlcuding + including + inmigrant + immigrant + inmigrants + immigrants + innoculated + inoculated + inocence + innocence + inofficial + unofficial + inot + into + inpeach + impeach + inpolite + impolite + inprisonment + imprisonment + inproving + improving + insectiverous + insectivorous + insensative + insensitive + inseperable + inseparable + insistance + insistence + insitution + institution + insitutions + institutions + inspite + in spite + instade + instead + instatance + instance + institue + institute + instuction + instruction + instuments + instruments + instutionalized + institutionalized + instutions + intuitions + insurence + insurance + intelectual + intellectual + inteligence + intelligence + inteligent + intelligent + intenational + international + intented + intended + intepretation + interpretation + intepretator + interpretor + interational + international + interbread + interbreed + interchangable + interchangeable + interchangably + interchangeably + intercontinetal + intercontinental + intered + interred + interelated + interrelated + interferance + interference + interfereing + interfering + intergrated + integrated + intergration + integration + interm + interim + internation + international + interpet + interpret + interrim + interim + interrugum + interregnum + intertaining + entertaining + interupt + interrupt + intervines + intervenes + intevene + intervene + intial + initial + intially + initially + intrduced + introduced + intrest + interest + introdued + introduced + intruduced + introduced + intrument + instrument + intrumental + instrumental + intruments + instruments + intrusted + entrusted + intutive + intuitive + intutively + intuitively + inudstry + industry + inventer + inventor + invertibrates + invertebrates + investingate + investigate + involvment + involvement + irelevent + irrelevant + iresistable + irresistible + iresistably + irresistibly + iresistible + irresistible + iresistibly + irresistibly + iritable + irritable + iritated + irritated + ironicly + ironically + irregardless + regardless + irrelevent + irrelevant + irreplacable + irreplaceable + irresistable + irresistible + irresistably + irresistibly + isnt + isn't + issueing + issuing + itnroduced + introduced + iunior + junior + iwll + will + iwth + with + jaques + jacques + jeapardy + jeopardy + jewllery + jewellery + jouney + journey + journied + journeyed + journies + journeys + jstu + just + jsut + just + judical + judicial + judisuary + judiciary + juducial + judicial + juristiction + jurisdiction + juristictions + jurisdictions + kindergarden + kindergarten + klenex + kleenex + knifes + knives + knive + knife + knowlege + knowledge + knowlegeable + knowledgeable + knwo + know + knwos + knows + konw + know + konws + knows + kwno + know + labatory + laboratory + labratory + laboratory + laguage + language + laguages + languages + larg + large + largst + largest + larrry + larry + lastr + last + lattitude + latitude + launhed + launched + lavae + larvae + layed + laid + lazyness + laziness + leage + league + leanr + learn + leathal + lethal + lefted + left + legitamate + legitimate + legitmate + legitimate + leibnitz + leibniz + lenght + length + leran + learn + lerans + learns + leutenant + lieutenant + levetate + levitate + levetated + levitated + levetates + levitates + levetating + levitating + levle + level + liasion + liaison + liason + liaison + liasons + liaisons + libary + library + libell + libel + libguistic + linguistic + libguistics + linguistics + libitarianisn + libertarianism + lieing + lying + liek + like + liekd + liked + liesure + leisure + lieuenant + lieutenant + lieved + lived + liftime + lifetime + lightyear + light year + lightyears + light years + likelyhood + likelihood + linnaena + linnaean + lippizaner + lipizzaner + liquify + liquefy + liscense + license + lisence + license + lisense + license + listners + listeners + litature + literature + literaly + literally + literture + literature + littel + little + litterally + literally + liuke + like + livley + lively + lmits + limits + loev + love + lonelyness + loneliness + longitudonal + longitudinal + lonley + lonely + lonly + lonely + loosing + losing + lotharingen + lothringen + lsat + last + lukid + likud + lveo + love + lvoe + love + maching + machine + mackeral + mackerel + magasine + magazine + magincian + magician + magnificient + magnificent + magolia + magnolia + mailny + mainly + maintainance + maintenance + maintainence + maintenance + maintance + maintenance + maintenence + maintenance + maintinaing + maintaining + maintioned + mentioned + majoroty + majority + maked + marked + makse + makes + maltesian + Maltese + mamal + mammal + mamalian + mammalian + managable + manageable + managment + management + maneouvre + manoeuvre + maneouvred + manoeuvred + maneouvres + manoeuvres + maneouvring + manoeuvring + manisfestations + manifestations + manoeuverability + maneuverability + manouver + maneuver + manouverability + maneuverability + manouverable + maneuverable + manouvers + maneuvers + mantained + maintained + manuever + maneuver + manuevers + maneuvers + manufacturedd + manufactured + manufature + manufacture + manufatured + manufactured + manufaturing + manufacturing + manuver + maneuver + mariage + marriage + marjority + majority + markes + marks + marketting + marketing + marmelade + marmalade + marrage + marriage + marraige + marriage + marrtyred + martyred + marryied + married + massmedia + mass media + masterbation + masturbation + mataphysical + metaphysical + materalists + materialist + mathamatics + mathematics + mathematican + mathematician + mathematicas + mathematics + matheticians + mathematicians + mathmatically + mathematically + mathmatician + mathematician + mathmaticians + mathematicians + mccarthyst + mccarthyist + mchanics + mechanics + meaninng + meaning + mear + wear + mechandise + merchandise + medacine + medicine + medeival + medieval + medevial + medieval + mediciney + mediciny + medievel + medieval + mediterainnean + mediterranean + meerkrat + meerkat + melieux + milieux + membranaphone + membranophone + memeber + member + menally + mentally + meranda + Miranda + mercentile + mercantile + messanger + messenger + messenging + messaging + metalic + metallic + metalurgic + metallurgic + metalurgical + metallurgical + metalurgy + metallurgy + metamorphysis + metamorphosis + metaphoricial + metaphorical + meterologist + meteorologist + meterology + meteorology + methaphor + metaphor + methaphors + metaphors + micoscopy + microscopy + midwifes + midwives + mileau + milieu + milennia + millennia + milennium + millennium + mileu + milieu + miliary + military + milion + million + miliraty + military + millenia + millennia + millenial + millennial + millenialism + millennialism + millenium + millennium + millepede + millipede + millioniare + millionaire + millitary + military + millon + million + miltary + military + minature + miniature + minerial + mineral + miniscule + minuscule + ministery + ministry + minstries + ministries + minstry + ministry + minumum + minimum + mirrorred + mirrored + miscelaneous + miscellaneous + miscellanious + miscellaneous + miscellanous + miscellaneous + mischeivous + mischievous + mischevious + mischievous + mischievious + mischievous + misdameanor + misdemeanor + misdameanors + misdemeanors + misdemenor + misdemeanor + misdemenors + misdemeanors + misfourtunes + misfortunes + misile + missile + mispell + misspell + mispelled + misspelled + mispelling + misspelling + missen + mizzen + missle + missile + missonary + missionary + misterious + mysterious + mistery + mystery + misteryous + mysterious + mkae + make + mkaes + makes + mkaing + making + mkea + make + moderm + modem + modle + model + moent + moment + moeny + money + mohammedans + muslims + moil + soil + moleclues + molecules + momento + memento + monestaries + monasteries + monestary + monastery + monickers + monikers + monolite + monolithic + montains + mountains + montanous + mountainous + monts + months + montypic + monotypic + moreso + more so + morgage + mortgage + morroccan + moroccan + morrocco + morocco + morroco + morocco + mortage + mortgage + mosture + moisture + motiviated + motivated + mounth + month + movei + movie + movment + movement + mroe + more + mucuous + mucous + muder + murder + mudering + murdering + muhammadan + muslim + multicultralism + multiculturalism + multipled + multiplied + multiplers + multipliers + munbers + numbers + muncipalities + municipalities + muncipality + municipality + munnicipality + municipality + muscels + muscles + muscial + musical + muscician + musician + muscicians + musicians + mutiliated + mutilated + myraid + myriad + mysef + myself + mysogynist + misogynist + mysogyny + misogyny + mysterous + mysterious + naieve + naive + naturaly + naturally + naturely + naturally + naturual + natural + naturually + naturally + neccesarily + necessarily + neccesary + necessary + neccessarily + necessarily + neccessary + necessary + neccessities + necessities + necesarily + necessarily + necesary + necessary + necessiate + necessitate + neglible + negligible + negligable + negligible + negociate + negotiate + negociation + negotiation + negociations + negotiations + negotation + negotiation + neice + niece + neigborhood + neighborhood + neigbour + neighbour + neigbourhood + neighbourhood + neolitic + neolithic + nessasarily + necessarily + nessecary + necessary + nestin + nesting + neverthless + nevertheless + newletters + newsletters + nickle + nickel + nightfa;; + nightfall + nightime + nighttime + nineth + ninth + ninteenth + nineteenth + ninties + 1990s + ninty + ninety + nkow + know + nkwo + know + nmae + name + noncombatents + noncombatants + nonsence + nonsense + nontheless + nonetheless + noone + no one + norhern + northern + northen + northern + northereastern + northeastern + notabley + notably + noteable + notable + noteably + notably + noteriety + notoriety + noth + north + nothern + northern + noticable + noticeable + noticably + noticeably + noticeing + noticing + noticible + noticeable + notwhithstanding + notwithstanding + noveau + nouveau + nowdays + nowadays + nowe + now + nto + not + nucular + nuclear + nuculear + nuclear + nuisanse + nuisance + numberous + numerous + nusance + nuisance + nutritent + nutrient + nutritents + nutrients + nuturing + nurturing + obediance + obedience + obediant + obedient + obession + obsession + obssessed + obsessed + obstacal + obstacle + obstancles + obstacles + obstruced + obstructed + ocasion + occasion + ocasional + occasional + ocasionally + occasionally + ocasionaly + occasionally + ocasioned + occasioned + ocasions + occasions + ocassion + occasion + ocassional + occasional + ocassionally + occasionally + ocassionaly + occasionally + ocassioned + occasioned + ocassions + occasions + occaison + occasion + occassion + occasion + occassional + occasional + occassionally + occasionally + occassionaly + occasionally + occassioned + occasioned + occassions + occasions + occationally + occasionally + occour + occur + occurance + occurrence + occurances + occurrences + occured + occurred + occurence + occurrence + occurences + occurrences + occuring + occurring + occurr + occur + occurrance + occurrence + occurrances + occurrences + octohedra + octahedra + octohedral + octahedral + octohedron + octahedron + ocuntries + countries + ocuntry + country + ocurr + occur + ocurrance + occurrence + ocurred + occurred + ocurrence + occurrence + offcers + officers + offcially + officially + offereings + offerings + offical + official + offically + officially + officals + officials + officaly + officially + officialy + officially + offred + offered + oftenly + often + oging + going + omision + omission + omited + omitted + omiting + omitting + omlette + omelette + ommision + omission + ommited + omitted + ommiting + omitting + ommitted + omitted + ommitting + omitting + omniverous + omnivorous + omniverously + omnivorously + omre + more + onot + note + onxy + onyx + onyl + only + openess + openness + oponent + opponent + oportunity + opportunity + opose + oppose + oposite + opposite + oposition + opposition + oppenly + openly + oppinion + opinion + opponant + opponent + oppononent + opponent + oppositition + opposition + oppossed + opposed + opprotunity + opportunity + opression + oppression + opressive + oppressive + opthalmic + ophthalmic + opthalmologist + ophthalmologist + opthalmology + ophthalmology + opthamologist + ophthalmologist + optmizations + optimizations + optomism + optimism + orded + ordered + organim + organism + organistion + organisation + organiztion + organization + orgin + origin + orginal + original + orginally + originally + orginize + organise + oridinarily + ordinarily + origanaly + originally + originall + original + originaly + originally + originially + originally + originnally + originally + origional + original + orignally + originally + orignially + originally + otehr + other + oublisher + publisher + ouevre + oeuvre + oustanding + outstanding + overshaddowed + overshadowed + overthere + over there + overwelming + overwhelming + overwheliming + overwhelming + owrk + work + owudl + would + oxigen + oxygen + oximoron + oxymoron + p0enis + penis + paide + paid + paitience + patience + palce + place + paleolitic + paleolithic + paliamentarian + parliamentarian + pallete + palette + pamflet + pamphlet + pamplet + pamphlet + pantomine + pantomime + paralel + parallel + paralell + parallel + paralelly + parallelly + paralely + parallelly + parallely + parallelly + paranthesis + parenthesis + paraphenalia + paraphernalia + parellels + parallels + parituclar + particular + parliment + parliament + parrakeets + parakeets + parralel + parallel + parrallel + parallel + parrallell + parallel + parrallelly + parallelly + parrallely + parallelly + partialy + partially + particually + particularly + particualr + particular + particuarly + particularly + particularily + particularly + particulary + particularly + pary + party + pased + passed + pasengers + passengers + passerbys + passersby + pasttime + pastime + pastural + pastoral + paticular + particular + pattented + patented + pavillion + pavilion + payed + paid + pblisher + publisher + pbulisher + publisher + peacefuland + peaceful and + peageant + pageant + peculure + peculiar + pedestrain + pedestrian + peformed + performed + peice + piece + penatly + penalty + penerator + penetrator + penisula + peninsula + penisular + peninsular + penninsula + peninsula + penninsular + peninsular + pennisula + peninsula + pensinula + peninsula + peom + poem + peoms + poems + peopel + people + peotry + poetry + perade + parade + percepted + perceived + percieve + perceive + percieved + perceived + perenially + perennially + perfomance + performance + perfomers + performers + performence + performance + performes + performed + perhasp + perhaps + perheaps + perhaps + perhpas + perhaps + peripathetic + peripatetic + peristent + persistent + perjery + perjury + perjorative + pejorative + permanant + permanent + permenant + permanent + permenantly + permanently + permissable + permissible + perogative + prerogative + peronal + personal + perosnality + personality + perphas + perhaps + perpindicular + perpendicular + perseverence + perseverance + persistance + persistence + persistant + persistent + personel + personnel + personell + personnel + personnell + personnel + persuded + persuaded + persue + pursue + persued + pursued + persuing + pursuing + persuit + pursuit + persuits + pursuits + pertubation + perturbation + pertubations + perturbations + pessiary + pessary + petetion + petition + phenomenom + phenomenon + phenomenonal + phenomenal + phenomenonly + phenomenally + phenomonenon + phenomenon + phenomonon + phenomenon + phenonmena + phenomena + philisopher + philosopher + philisophical + philosophical + philisophy + philosophy + phillosophically + philosophically + philospher + philosopher + philosphies + philosophies + philosphy + philosophy + phongraph + phonograph + phylosophical + philosophical + physicaly + physically + piblisher + publisher + pich + pitch + pilgrimmage + pilgrimage + pilgrimmages + pilgrimages + pinapple + pineapple + pinnaple + pineapple + pinoneered + pioneered + plagarism + plagiarism + planation + plantation + planed + planned + plantiff + plaintiff + plateu + plateau + plausable + plausible + playright + playwright + playwrite + playwright + playwrites + playwrights + pleasent + pleasant + plebicite + plebiscite + plesant + pleasant + poenis + penis + poeoples + peoples + poety + poetry + poisin + poison + polical + political + polinator + pollinator + polinators + pollinators + politican + politician + politicans + politicians + poltical + political + polute + pollute + poluted + polluted + polutes + pollutes + poluting + polluting + polution + pollution + polyphonyic + polyphonic + polysaccaride + polysaccharide + polysaccharid + polysaccharide + pomegranite + pomegranate + pomotion + promotion + poportional + proportional + popoulation + population + popularaty + popularity + populare + popular + populer + popular + portait + portrait + portayed + portrayed + portraing + portraying + portuguease + portuguese + portugues + Portuguese + posess + possess + posessed + possessed + posesses + possesses + posessing + possessing + posession + possession + posessions + possessions + posion + poison + positon + position + possable + possible + possably + possibly + posseses + possesses + possesing + possessing + possesion + possession + possessess + possesses + possibile + possible + possibilty + possibility + possiblility + possibility + possiblilty + possibility + possiblities + possibilities + possiblity + possibility + possition + position + posthomous + posthumous + postion + position + postive + positive + potatos + potatoes + potrait + portrait + potrayed + portrayed + poulations + populations + poverful + powerful + poweful + powerful + powerfull + powerful + ppublisher + publisher + practial + practical + practially + practically + practicaly + practically + practicioner + practitioner + practicioners + practitioners + practicly + practically + practioner + practitioner + practioners + practitioners + prairy + prairie + prarie + prairie + praries + prairies + pratice + practice + preample + preamble + precedessor + predecessor + preceed + precede + preceeded + preceded + preceeding + preceding + preceeds + precedes + precentage + percentage + precice + precise + precisly + precisely + precurser + precursor + predecesors + predecessors + predicatble + predictable + predicitons + predictions + predomiantly + predominately + prefered + preferred + prefering + preferring + preferrably + preferably + pregancies + pregnancies + preiod + period + preliferation + proliferation + premeire + premiere + premeired + premiered + premillenial + premillennial + preminence + preeminence + premission + permission + preocupation + preoccupation + prepair + prepare + prepartion + preparation + prepatory + preparatory + preperation + preparation + preperations + preparations + preriod + period + presedential + presidential + presense + presence + presidenital + presidential + presidental + presidential + presitgious + prestigious + prespective + perspective + prestigeous + prestigious + prestigous + prestigious + presumabely + presumably + presumibly + presumably + pretection + protection + prevelant + prevalent + preverse + perverse + previvous + previous + pricipal + principal + priciple + principle + priestood + priesthood + primarly + primarily + primative + primitive + primatively + primitively + primatives + primitives + primordal + primordial + priveledges + privileges + privelege + privilege + priveleged + privileged + priveleges + privileges + privelige + privilege + priveliged + privileged + priveliges + privileges + privelleges + privileges + privilage + privilege + priviledge + privilege + priviledges + privileges + privledge + privilege + privte + private + probabilaty + probability + probablistic + probabilistic + probablly + probably + probalibity + probability + probaly + probably + probelm + problem + proccess + process + proccessing + processing + procede + proceed + proceded + proceeded + procedes + proceeds + procedger + procedure + proceding + proceeding + procedings + proceedings + proceedure + procedure + proces + process + processer + processor + proclaimation + proclamation + proclamed + proclaimed + proclaming + proclaiming + proclomation + proclamation + profesion + profession + profesor + professor + professer + professor + proffesed + professed + proffesion + profession + proffesional + professional + proffesor + professor + profilic + prolific + progessed + progressed + programable + programmable + progrom + program + progroms + programs + prohabition + prohibition + prologomena + prolegomena + prominance + prominence + prominant + prominent + prominantly + prominently + prominately + prominently + promiscous + promiscuous + promotted + promoted + pronomial + pronominal + pronouced + pronounced + pronounched + pronounced + pronounciation + pronunciation + proove + prove + prooved + proved + prophacy + prophecy + propietary + proprietary + propmted + prompted + propoganda + propaganda + propogate + propagate + propogates + propagates + propogation + propagation + propostion + proposition + propotions + proportions + propper + proper + propperly + properly + proprietory + proprietary + proseletyzing + proselytizing + protaganist + protagonist + protaganists + protagonists + protocal + protocol + protoganist + protagonist + protrayed + portrayed + protruberance + protuberance + protruberances + protuberances + prouncements + pronouncements + provacative + provocative + provded + provided + provicial + provincial + provinicial + provincial + provisiosn + provision + provisonal + provisional + proximty + proximity + pseudononymous + pseudonymous + pseudonyn + pseudonym + psuedo + pseudo + psycology + psychology + psyhic + psychic + pubilsher + publisher + pubisher + publisher + publiaher + publisher + publically + publicly + publicaly + publicly + publicher + publisher + publihser + publisher + publisehr + publisher + publiser + publisher + publisger + publisher + publisheed + published + publisherr + publisher + publishher + publisher + publishor + publisher + publishre + publisher + publissher + publisher + publlisher + publisher + publsiher + publisher + publusher + publisher + puchasing + purchasing + pulisher + publisher + pumkin + pumpkin + puplisher + publisher + puritannical + puritanical + purposedly + purposely + purpotedly + purportedly + pursuade + persuade + pursuaded + persuaded + pursuades + persuades + pususading + persuading + puting + putting + pwoer + power + pyscic + psychic + qtuie + quiet + quantaty + quantity + quantitiy + quantity + quarantaine + quarantine + questonable + questionable + quicklyu + quickly + quinessential + quintessential + quitted + quit + quizes + quizzes + qutie + quiet + rabinnical + rabbinical + racaus + raucous + radiactive + radioactive + radify + ratify + raelly + really + rarified + rarefied + reaccurring + recurring + reacing + reaching + reacll + recall + readmition + readmission + realitvely + relatively + realsitic + realistic + realtions + relations + realy + really + realyl + really + reasearch + research + rebiulding + rebuilding + rebllions + rebellions + rebounce + rebound + reccomend + recommend + reccomendations + recommendations + reccomended + recommended + reccomending + recommending + reccommend + recommend + reccommended + recommended + reccommending + recommending + reccuring + recurring + receeded + receded + receeding + receding + receivedfrom + received from + recepient + recipient + recepients + recipients + receving + receiving + rechargable + rechargeable + reched + reached + recide + reside + recided + resided + recident + resident + recidents + residents + reciding + residing + reciepents + recipients + reciept + receipt + recieve + receive + recieved + received + reciever + receiver + recievers + receivers + recieves + receives + recieving + receiving + recipiant + recipient + recipiants + recipients + recived + received + recivership + receivership + recogise + recognise + recogize + recognize + recomend + recommend + recomended + recommended + recomending + recommending + recomends + recommends + recommedations + recommendations + reconaissance + reconnaissance + reconcilation + reconciliation + reconized + recognized + reconnaisance + reconnaissance + reconnaissence + reconnaissance + recontructed + reconstructed + recordproducer + record producer + recquired + required + recrational + recreational + recrod + record + recuiting + recruiting + recuring + recurring + recurrance + recurrence + rediculous + ridiculous + reedeming + redeeming + reenforced + reinforced + refect + reflect + refedendum + referendum + referal + referral + referece + reference + refereces + references + refered + referred + referemce + reference + referemces + references + referencs + references + referenece + reference + refereneced + referenced + refereneces + references + referiang + referring + refering + referring + refernce + references + refernces + references + referrence + reference + referrences + references + referrs + refers + reffered + referred + refference + reference + reffering + referring + refrence + reference + refrences + references + refrers + refers + refridgeration + refrigeration + refridgerator + refrigerator + refromist + reformist + refusla + refusal + regardes + regards + regluar + regular + reguarly + regularly + regulaion + regulation + regulaotrs + regulators + regularily + regularly + rehersal + rehearsal + reicarnation + reincarnation + reigining + reigning + reknown + renown + reknowned + renowned + rela + real + relaly + really + relatiopnship + relationship + relativly + relatively + relected + reelected + releive + relieve + releived + relieved + releiver + reliever + releses + releases + relevence + relevance + relevent + relevant + reliablity + reliability + relient + reliant + religeous + religious + religous + religious + religously + religiously + relinqushment + relinquishment + relitavely + relatively + relized + realized + relpacement + replacement + remaing + remaining + remeber + remember + rememberable + memorable + rememberance + remembrance + remembrence + remembrance + remenant + remnant + remenicent + reminiscent + reminent + remnant + reminescent + reminiscent + reminscent + reminiscent + reminsicent + reminiscent + rendevous + rendezvous + rendezous + rendezvous + renedered + rende + renewl + renewal + rennovate + renovate + rennovated + renovated + rennovating + renovating + rennovation + renovation + rentors + renters + reoccurrence + recurrence + reorganision + reorganisation + repatition + repetition + repectively + respectively + repeition + repetition + repentence + repentance + repentent + repentant + repeteadly + repeatedly + repetion + repetition + repid + rapid + reponse + response + reponsible + responsible + reportadly + reportedly + represantative + representative + representive + representative + representives + representatives + reproducable + reproducible + reprtoire + repertoire + repsectively + respectively + reptition + repetition + requirment + requirement + requred + required + resaurant + restaurant + resembelance + resemblance + resembes + resembles + resemblence + resemblance + resevoir + reservoir + residental + residential + resignement + resignment + resistable + resistible + resistence + resistance + resistent + resistant + respectivly + respectively + responce + response + responibilities + responsibilities + responisble + responsible + responnsibilty + responsibility + responsability + responsibility + responsibile + responsible + responsibilites + responsibilities + responsiblities + responsibilities + responsiblity + responsibility + ressemblance + resemblance + ressemble + resemble + ressembled + resembled + ressemblence + resemblance + ressembling + resembling + resssurecting + resurrecting + ressurect + resurrect + ressurected + resurrected + ressurection + resurrection + ressurrection + resurrection + restarant + restaurant + restarants + restaurants + restaraunt + restaurant + restaraunteur + restaurateur + restaraunteurs + restaurateurs + restaraunts + restaurants + restauranteurs + restaurateurs + restauration + restoration + restauraunt + restaurant + resteraunt + restaurant + resteraunts + restaurants + resticted + restricted + restraunt + restraint + resturant + restaurant + resturants + restaurants + resturaunt + restaurant + resturaunts + restaurants + resurecting + resurrecting + retalitated + retaliated + retalitation + retaliation + retreive + retrieve + returnd + returned + revaluated + reevaluated + reveiw + review + reveral + reversal + reversable + reversible + revolutionar + revolutionary + rewitten + rewritten + rewriet + rewrite + rference + reference + rferences + references + rhymme + rhyme + rhythem + rhythm + rhythim + rhythm + rhytmic + rhythmic + rigourous + rigorous + rininging + ringing + rised + rose + rococco + rococo + rocord + record + roomate + roommate + rougly + roughly + rucuperate + recuperate + rudimentatry + rudimentary + rulle + rule + runing + running + runnung + running + russina + Russian + rwite + write + rythem + rhythm + rythim + rhythm + rythm + rhythm + rythmic + rhythmic + rythyms + rhythms + sacrafice + sacrifice + sacreligious + sacrilegious + sacrifical + sacrificial + saftey + safety + safty + safety + salery + salary + sanctionning + sanctioning + sandwhich + sandwich + santioned + sanctioned + sargant + sergeant + sargeant + sergeant + satelite + satellite + satelites + satellites + satisfactority + satisfactorily + satric + satiric + satrical + satirical + satrically + satirically + sattelite + satellite + sattelites + satellites + saught + sought + saveing + saving + saxaphone + saxophone + scaleable + scalable + scandanavia + Scandinavia + scaricity + scarcity + scavanged + scavenged + schedual + schedule + scholarhip + scholarship + scholarstic + scholastic + scientfic + scientific + scientifc + scientific + scientis + scientist + scince + science + scinece + science + scirpt + script + scoll + scroll + screenwrighter + screenwriter + scrutinity + scrutiny + scuptures + sculptures + seach + search + seached + searched + seaches + searches + secratary + secretary + secretery + secretary + sedereal + sidereal + seeked + sought + segementation + segmentation + seguoys + segues + seige + siege + seing + seeing + seinor + senior + seldomly + seldom + senarios + scenarios + senstive + sensitive + sensure + censure + seperate + separate + seperated + separated + seperately + separately + seperates + separates + seperating + separating + seperation + separation + seperatism + separatism + seperatist + separatist + sepina + subpoena + sergent + sergeant + settelement + settlement + settlment + settlement + severeal + several + severley + severely + severly + severely + sevice + service + shadasloo + shadaloo + shaddow + shadow + shadoloo + shadaloo + shamen + shaman + sheat + sheath + sheild + shield + sherif + sheriff + shineing + shining + shiped + shipped + shiping + shipping + shopkeeepers + shopkeepers + shorly + shortly + shortwhile + short while + shoudl + should + shoudln + shouldn't + shouldnt + shouldn't + shreak + shriek + shrinked + shrunk + sicne + since + sideral + sidereal + siezure + seizure + siezures + seizures + siginificant + significant + signficant + significant + signficiant + significant + signfies + signifies + signifantly + significantly + significently + significantly + signifigant + significant + signifigantly + significantly + signitories + signatories + signitory + signatory + similarily + similarly + similiar + similar + similiarity + similarity + similiarly + similarly + simmilar + similar + simpley + simply + simplier + simpler + simultanous + simultaneous + simultanously + simultaneously + sincerley + sincerely + singsog + singsong + sinse + since + skateing + skating + slaugterhouses + slaughterhouses + slighly + slightly + slowy + slowly + smae + same + smealting + smelting + smoe + some + sneeks + sneaks + snese + sneeze + socalism + socialism + socities + societies + soem + some + sofware + software + sohw + show + soilders + soldiers + solatary + solitary + soley + solely + soliders + soldiers + soliliquy + soliloquy + soluable + soluble + somene + someone + somtimes + sometimes + somwhere + somewhere + sophicated + sophisticated + sophmore + sophomore + sorceror + sorcerer + sorrounding + surrounding + sotry + story + sotyr + story + soudn + sound + soudns + sounds + sould + could + sountrack + soundtrack + sourth + south + sourthern + southern + souvenier + souvenir + souveniers + souvenirs + soveits + soviets + sovereignity + sovereignty + soverign + sovereign + soverignity + sovereignty + soverignty + sovereignty + spainish + Spanish + speach + speech + specfic + specific + speciallized + specialized + specifiying + specifying + speciman + specimen + spectauclar + spectacular + spectaulars + spectaculars + spectum + spectrum + speices + species + spendour + splendour + spermatozoan + spermatozoon + spoace + space + sponser + sponsor + sponsered + sponsored + spontanous + spontaneous + sponzored + sponsored + spoonfulls + spoonfuls + sppeches + speeches + spreaded + spread + sprech + speech + spred + spread + spriritual + spiritual + spritual + spiritual + sqaure + square + stablility + stability + stainlees + stainless + staion + station + standars + standards + stange + strange + startegic + strategic + startegies + strategies + startegy + strategy + stateman + statesman + statememts + statements + statment + statement + steriods + steroids + sterotypes + stereotypes + stilus + stylus + stingent + stringent + stiring + stirring + stirrs + stirs + stlye + style + stomache + stomach + stong + strong + stopry + story + storeis + stories + storise + stories + stornegst + strongest + stoyr + story + stpo + stop + stradegies + strategies + stradegy + strategy + strat + start + stratagically + strategically + streemlining + streamlining + stregth + strength + strenghen + strengthen + strenghened + strengthened + strenghening + strengthening + strenght + strength + strenghten + strengthen + strenghtened + strengthened + strenghtening + strengthening + strengtened + strengthened + strenous + strenuous + strictist + strictest + strikely + strikingly + strnad + strand + stroy + story + structual + structural + stubborness + stubbornness + stucture + structure + stuctured + structured + studdy + study + studing + studying + stuggling + struggling + sturcture + structure + subcatagories + subcategories + subcatagory + subcategory + subconsiously + subconsciously + subjudgation + subjugation + submachne + submachine + subpecies + subspecies + subsidary + subsidiary + subsiduary + subsidiary + subsquent + subsequent + subsquently + subsequently + substace + substance + substancial + substantial + substatial + substantial + substituded + substituted + substract + subtract + substracted + subtracted + substracting + subtracting + substraction + subtraction + substracts + subtracts + subtances + substances + subterranian + subterranean + suburburban + suburban + succceeded + succeeded + succcesses + successes + succedded + succeeded + succeded + succeeded + succeds + succeeds + succesful + successful + succesfully + successfully + succesfuly + successfully + succesion + succession + succesive + successive + successfull + successful + successully + successfully + succsess + success + succsessfull + successful + suceed + succeed + suceeded + succeeded + suceeding + succeeding + suceeds + succeeds + sucesful + successful + sucesfully + successfully + sucesfuly + successfully + sucesion + succession + sucess + success + sucesses + successes + sucessful + successful + sucessfull + successful + sucessfully + successfully + sucessfuly + successfully + sucession + succession + sucessive + successive + sucessor + successor + sucessot + successor + sucide + suicide + sucidial + suicidal + sufferage + suffrage + sufferred + suffered + sufferring + suffering + sufficent + sufficient + sufficently + sufficiently + sumary + summary + sunglases + sunglasses + suop + soup + superceeded + superseded + superintendant + superintendent + suphisticated + sophisticated + suplimented + supplemented + supose + suppose + suposed + supposed + suposedly + supposedly + suposes + supposes + suposing + supposing + supplamented + supplemented + suppliementing + supplementing + suppoed + supposed + supposingly + supposedly + suppy + supply + supress + suppress + supressed + suppressed + supresses + suppresses + supressing + suppressing + suprise + surprise + suprised + surprised + suprising + surprising + suprisingly + surprisingly + suprize + surprise + suprized + surprised + suprizing + surprising + suprizingly + surprisingly + surfce + surface + surley + surely + suround + surround + surounded + surrounded + surounding + surrounding + suroundings + surroundings + surounds + surrounds + surplanted + supplanted + surpress + suppress + surpressed + suppressed + surprize + surprise + surprized + surprised + surprizing + surprising + surprizingly + surprisingly + surrended + surrendered + surrepetitious + surreptitious + surrepetitiously + surreptitiously + surreptious + surreptitious + surreptiously + surreptitiously + surronded + surrounded + surrouded + surrounded + surrouding + surrounding + surrundering + surrendering + surveilence + surveillance + surveill + surveil + surveyer + surveyor + surviver + survivor + survivers + survivors + survivied + survived + suseptable + susceptible + suseptible + susceptible + suspention + suspension + swaer + swear + swaers + swears + swepth + swept + swiming + swimming + syas + says + symetrical + symmetrical + symetrically + symmetrically + symetry + symmetry + symettric + symmetric + symmetral + symmetric + symmetricaly + symmetrically + synagouge + synagogue + syncronization + synchronization + synonomous + synonymous + synonymns + synonyms + synphony + symphony + syphyllis + syphilis + sypmtoms + symptoms + syrap + syrup + sysmatically + systematically + sytem + system + sytle + style + tabacco + tobacco + tahn + than + taht + that + talekd + talked + targetted + targeted + targetting + targeting + tast + taste + tath + that + tattooes + tattoos + taxanomic + taxonomic + taxanomy + taxonomy + teached + taught + techician + technician + techicians + technicians + techiniques + techniques + technitian + technician + technnology + technology + technolgy + technology + teh + the + tehy + they + telelevision + television + televsion + television + telphony + telephony + temerature + temperature + tempalte + template + tempaltes + templates + temparate + temperate + temperarily + temporarily + temperment + temperament + tempertaure + temperature + temperture + temperature + temprary + temporary + tenacle + tentacle + tenacles + tentacles + tendacy + tendency + tendancies + tendencies + tendancy + tendency + tennisplayer + tennis player + tepmorarily + temporarily + terrestial + terrestrial + terriories + territories + terriory + territory + territorist + terrorist + territoy + territory + terroist + terrorist + testiclular + testicular + tghe + the + thast + that's + theather + theater + theese + these + theif + thief + theives + thieves + themselfs + themselves + themslves + themselves + ther + there + therafter + thereafter + therby + thereby + theri + their + theyre + they're + thgat + that + thge + the + thier + their + thign + thing + thigns + things + thigsn + things + thikn + think + thikning + thinking + thikns + thinks + thiunk + think + thn + then + thna + than + thne + then + thnig + thing + thnigs + things + thoughout + throughout + threatend + threatened + threatning + threatening + threee + three + threshhold + threshold + thrid + third + throrough + thorough + throughly + thoroughly + throught + throat + througout + throughout + thru + through + thsi + this + thsoe + those + thta + that + thyat + that + tiem + time + tihkn + think + tihs + this + timne + time + tiome + time + tje + the + tjhe + the + tjpanishad + upanishad + tkae + take + tkaes + takes + tkaing + taking + tlaking + talking + tobbaco + tobacco + todays + today's + todya + today + toghether + together + toke + took + tolerence + tolerance + tomatos + tomatoes + tommorow + tomorrow + tommorrow + tomorrow + tongiht + tonight + toriodal + toroidal + tormenters + tormentors + tornadoe + tornado + torpeados + torpedoes + torpedos + torpedoes + tothe + to the + toubles + troubles + tounge + tongue + tourch + torch + towords + towards + towrad + toward + tradionally + traditionally + traditionaly + traditionally + traditionnal + traditional + traditition + tradition + tradtionally + traditionally + trafficed + trafficked + trafficing + trafficking + trafic + traffic + trancendent + transcendent + trancending + transcending + tranform + transform + tranformed + transformed + transcendance + transcendence + transcendant + transcendent + transcendentational + transcendental + transcripting + transcribing + transending + transcending + transesxuals + transsexuals + transfered + transferred + transfering + transferring + transformaton + transformation + transistion + transition + translater + translator + translaters + translators + transmissable + transmissible + transporation + transportation + tremelo + tremolo + tremelos + tremolos + triguered + triggered + triology + trilogy + troling + trolling + troup + troupe + troups + troops + truely + truly + trustworthyness + trustworthiness + turnk + trunk + tust + trust + twelth + twelfth + twon + town + twpo + two + tyhat + that + tyhe + they + typcial + typical + typicaly + typically + tyranies + tyrannies + tyrany + tyranny + tyrranies + tyrannies + tyrrany + tyranny + ubiquitious + ubiquitous + ublisher + publisher + uise + use + ultimely + ultimately + unacompanied + unaccompanied + unahppy + unhappy + unanymous + unanimous + unathorised + unauthorised + unavailible + unavailable + unballance + unbalance + unbeknowst + unbeknownst + unbeleivable + unbelievable + uncertainity + uncertainty + unchallengable + unchallengeable + unchangable + unchangeable + uncompetive + uncompetitive + unconcious + unconscious + unconciousness + unconsciousness + unconfortability + discomfort + uncontitutional + unconstitutional + unconvential + unconventional + undecideable + undecidable + understoon + understood + undesireable + undesirable + undetecable + undetectable + undoubtely + undoubtedly + undreground + underground + uneccesary + unnecessary + unecessary + unnecessary + unequalities + inequalities + unforetunately + unfortunately + unforgetable + unforgettable + unforgiveable + unforgivable + unfortunatley + unfortunately + unfortunatly + unfortunately + unfourtunately + unfortunately + unihabited + uninhabited + unilateraly + unilaterally + unilatreal + unilateral + unilatreally + unilaterally + uninterruped + uninterrupted + uninterupted + uninterrupted + univeral + universal + univeristies + universities + univeristy + university + univerity + university + universtiy + university + univesities + universities + univesity + university + unkown + unknown + unlikey + unlikely + unmanouverable + unmaneuverable + unmistakeably + unmistakably + unneccesarily + unnecessarily + unneccesary + unnecessary + unneccessarily + unnecessarily + unneccessary + unnecessary + unnecesarily + unnecessarily + unnecesary + unnecessary + unoffical + unofficial + unoperational + nonoperational + unoticeable + unnoticeable + unplease + displease + unplesant + unpleasant + unprecendented + unprecedented + unprecidented + unprecedented + unrepentent + unrepentant + unrepetant + unrepentant + unrepetent + unrepentant + unsed + unused + unsubstanciated + unsubstantiated + unsuccesful + unsuccessful + unsuccesfully + unsuccessfully + unsuccessfull + unsuccessful + unsucesful + unsuccessful + unsucesfuly + unsuccessfully + unsucessful + unsuccessful + unsucessfull + unsuccessful + unsucessfully + unsuccessfully + unsuprised + unsurprised + unsuprising + unsurprising + unsuprisingly + unsurprisingly + unsuprized + unsurprised + unsuprizing + unsurprising + unsuprizingly + unsurprisingly + unsurprized + unsurprised + unsurprizing + unsurprising + unsurprizingly + unsurprisingly + untill + until + untranslateable + untranslatable + unuseable + unusable + unusuable + unusable + unviersity + university + unwarrented + unwarranted + unweildly + unwieldy + unwieldly + unwieldy + upcomming + upcoming + upgradded + upgraded + upto + up to + usally + usually + useage + usage + usefull + useful + usefuly + usefully + useing + using + usualy + usually + ususally + usually + vaccum + vacuum + vaccume + vacuum + vacinity + vicinity + vaguaries + vagaries + vaieties + varieties + vailidty + validity + valetta + valletta + valuble + valuable + valueable + valuable + varations + variations + varient + variant + variey + variety + varing + varying + varities + varieties + varity + variety + vasall + vassal + vasalls + vassals + vegatarian + vegetarian + vegitable + vegetable + vegitables + vegetables + vegtable + vegetable + vehicule + vehicle + vell + well + venemous + venomous + vengance + vengeance + vengence + vengeance + verfication + verification + verison + version + verisons + versions + vermillion + vermilion + versitilaty + versatility + versitlity + versatility + vetween + between + veyr + very + vigeur + vigor + vigilence + vigilance + vigourous + vigorous + villian + villain + villification + vilification + villify + vilify + villin + villain + vincinity + vicinity + violentce + violence + virtualy + virtually + virutal + virtual + virutally + virtually + visable + visible + visably + visibly + visting + visiting + vistors + visitors + vitories + victories + volcanoe + volcano + voleyball + volleyball + volontary + voluntary + volonteer + volunteer + volonteered + volunteered + volonteering + volunteering + volonteers + volunteers + volounteer + volunteer + volounteered + volunteered + volounteering + volunteering + volounteers + volunteers + volumne + volume + vreity + variety + vrey + very + vriety + variety + vulnerablility + vulnerability + vyer + very + vyre + very + waht + what + wanna + want to + warantee + warranty + wardobe + wardrobe + warrent + warrant + warrriors + warriors + wasnt + wasn't + wass + was + watn + want + wayword + wayward + weaponary + weaponry + weas + was + wehn + when + weild + wield + weilded + wielded + wendsay + Wednesday + wensday + Wednesday + wereabouts + whereabouts + whant + want + whants + wants + whcih + which + wheras + whereas + wherease + whereas + whereever + wherever + whic + which + whihc + which + whith + with + whlch + which + whn + when + wholey + wholly + wholy + holy + whta + what + whther + whether + wich + which + widesread + widespread + wief + wife + wierd + weird + wiew + view + wih + with + wiht + with + wille + will + willingless + willingness + wirting + writing + withdrawl + withdrawal + witheld + withheld + withh + with + withing + within + withold + withhold + witht + with + witn + with + wiull + will + wnat + want + wnated + wanted + wnats + wants + wohle + whole + wokr + work + wokring + working + wonderfull + wonderful + wont + won't + wordlwide + worldwide + workststion + workstation + worls + world + worstened + worsened + woudl + would + wresters + wrestlers + wriet + write + writen + written + wroet + wrote + wrok + work + wroking + working + wtih + with + wupport + support + xenophoby + xenophobia + yaching + yachting + yaer + year + yaerly + yearly + yaers + years + yatch + yacht + yearm + year + yeasr + years + yeild + yield + yeilding + yielding + yera + year + yeras + years + yersa + years + yotube + YouTube + youre + you're + youseff + yousef + youself + yourself + ytou + you + yuo + you + zeebra + zebra + + + diff --git a/indra/newview/llautoreplace.cpp b/indra/newview/llautoreplace.cpp index 10005aee9f..0432bf735a 100644 --- a/indra/newview/llautoreplace.cpp +++ b/indra/newview/llautoreplace.cpp @@ -1,4 +1,4 @@ -/** +/** * @file llautoreplace.cpp * @brief Auto Replace Manager * @@ -10,12 +10,12 @@ * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -32,10 +32,10 @@ LLAutoReplace* LLAutoReplace::sInstance; +const char* LLAutoReplace::SETTINGS_FILE_NAME = "settings_autoreplace.xml"; + LLAutoReplace::LLAutoReplace() { - sInstance = this; - sInstance->loadFromDisk(); } LLAutoReplace::~LLAutoReplace() @@ -55,29 +55,27 @@ void LLAutoReplace::autoreplaceCallback(LLUIString& inputText, S32& cursorPos) { return; } - - LLWString text = inputText.getWString(); + LLWString text = inputText.getWString(); if(text.size()<1) { return; } - + if(LLWStringUtil::isPartOfWord(text[wordEnd])) { return;//we only check on word breaks } - - wordEnd--; - if(LLWStringUtil::isPartOfWord(text[wordEnd])) + wordEnd--; + if ( LLWStringUtil::isPartOfWord(text[wordEnd]) ) { while ((wordEnd > 0) && (' ' != text[wordEnd-1])) { wordEnd--; } - wordStart=wordEnd; + wordStart=wordEnd; while ((wordEnd < (S32)text.length()) && (' ' != text[wordEnd])) { @@ -86,7 +84,7 @@ void LLAutoReplace::autoreplaceCallback(LLUIString& inputText, S32& cursorPos) std::string strLastWord = std::string(text.begin(), text.end()); std::string lastTypedWord = strLastWord.substr(wordStart, wordEnd-wordStart); - std::string replacedWord(replaceWord(lastTypedWord)); + std::string replacedWord( mSettings.replaceWord(lastTypedWord) ); if(replacedWord != lastTypedWord) { @@ -94,7 +92,6 @@ void LLAutoReplace::autoreplaceCallback(LLUIString& inputText, S32& cursorPos) LLWString strOld = utf8str_to_wstring(lastTypedWord); int nDiff = strNew.size() - strOld.size(); - //int wordStart = regText.find(lastTypedWord); text.replace(wordStart,lastTypedWord.length(),strNew); inputText = wstring_to_utf8str(text); cursorPos+=nDiff; @@ -108,307 +105,623 @@ LLAutoReplace* LLAutoReplace::getInstance() if(!sInstance) { sInstance = new LLAutoReplace(); + sInstance->loadFromSettings(); } return sInstance; } -void LLAutoReplace::save() -{ - saveToDisk(mAutoReplaces); -} - -std::string LLAutoReplace::getFileName() +std::string LLAutoReplace::getUserSettingsFileName() { std::string path=gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, ""); if (!path.empty()) { - path = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "settings_autoreplace.xml"); + path = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, SETTINGS_FILE_NAME); } - return path; + return path; } -std::string LLAutoReplace::getDefaultFileName() +std::string LLAutoReplace::getAppSettingsFileName() { std::string path=gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, ""); if (!path.empty()) { - path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "settings_autoreplace.xml"); + path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, SETTINGS_FILE_NAME); } - return path; + else + { + LL_ERRS("AutoReplace") << "Failed to get app settings directory name" << LL_ENDL; + } + return path; } -LLSD LLAutoReplace::exportList(std::string listName) +LLAutoReplaceSettings LLAutoReplace::getSettings() { - LLSD toReturn; - if(mAutoReplaces.has(listName)) - { - toReturn["listName"]=listName; - toReturn["data"]=mAutoReplaces[listName]["data"]; - toReturn["priority"]=mAutoReplaces[listName]["priority"]; - } - return toReturn; + return mSettings; +} + +void LLAutoReplace::setSettings(const LLAutoReplaceSettings& newSettings) +{ + mSettings.set(newSettings); } -BOOL LLAutoReplace::addReplacementList(LLSD newList) +void LLAutoReplace::loadFromSettings() { - if(newList.has("listName")) + std::string filename=getUserSettingsFileName(); + if (filename.empty()) + { + LL_INFOS("AutoReplace") << "no valid user settings directory." << LL_ENDL; + } + if(gDirUtilp->fileExists(filename)) { - std::string name = newList["listName"]; - LLSD newPart; - newPart["data"]=newList["data"]; - newPart["enabled"]=TRUE; - newPart["priority"]=newList["priority"].asInteger(); - llinfos << "adding new list with settings priority "<fileExists(defaultName)) + { + LLSD appDefault; + llifstream file; + file.open(defaultName.c_str()); + if (file.is_open()) + { + LLSDSerialize::fromXMLDocument(appDefault, file); + } + file.close(); - return TRUE; + if ( mSettings.setFromLLSD(appDefault) ) + { + LL_INFOS("AutoReplace") << "settings loaded from '" << filename << "'" << LL_ENDL; + saveToUserSettings(appDefault); + } + else + { + LL_WARNS("AutoReplace") << "invalid settings found in '" << filename << "'" << LL_ENDL; + } + } + else + { + if (mSettings.setFromLLSD(mSettings.getExampleLLSD())) + { + LL_WARNS("AutoReplace") << "no settings found; loaded example." << LL_ENDL; + } + else + { + LL_WARNS("AutoReplace") << "no settings found and example invalid!" << LL_ENDL; + } + } } - return FALSE; } -BOOL LLAutoReplace::removeReplacementList(std::string listName) +void LLAutoReplace::saveToUserSettings(const LLSD& newSettings) { - if(mAutoReplaces.has(listName)) - { - mAutoReplaces.erase(listName); - return TRUE; - } - return FALSE; + std::string filename=getUserSettingsFileName(); + llofstream file; + file.open(filename.c_str()); + LLSDSerialize::toPrettyXML(newSettings, file); + file.close(); + LL_INFOS("AutoReplace") << "settings saved to '" << filename << "'" << LL_ENDL; } -BOOL LLAutoReplace::setListEnabled(std::string listName, BOOL enabled) +// ================================================================ +// LLAutoReplaceSettings +// ================================================================ + +const std::string LLAutoReplaceSettings::AUTOREPLACE_LIST_NAME = "name"; ///< key for looking up list names +const std::string LLAutoReplaceSettings::AUTOREPLACE_LIST_REPLACEMENTS = "replacements"; ///< key for looking up replacement map + +LLAutoReplaceSettings::LLAutoReplaceSettings() { - if(mAutoReplaces.has(listName)) +} + +LLAutoReplaceSettings::LLAutoReplaceSettings(const LLAutoReplaceSettings& settings) +{ + // copy all values through fundamental type intermediates for thread safety + mLists = LLSD::emptyArray(); + + for ( LLSD::array_const_iterator list = settings.mLists.beginArray(), listEnd = settings.mLists.endArray(); + list != listEnd; + list++ + ) { - mAutoReplaces[listName]["enabled"]=enabled; - return TRUE; + LLSD listMap = LLSD::emptyMap(); + std::string listName = (*list)[AUTOREPLACE_LIST_NAME]; + listMap[AUTOREPLACE_LIST_NAME] = listName; + listMap[AUTOREPLACE_LIST_REPLACEMENTS] = LLSD::emptyMap(); + + for ( LLSD::map_const_iterator + entry = (*list)[AUTOREPLACE_LIST_REPLACEMENTS].beginMap(), + entriesEnd = (*list)[AUTOREPLACE_LIST_REPLACEMENTS].endMap(); + entry != entriesEnd; + entry++ + ) + { + std::string keyword = entry->first; + std::string replacement = entry->second.asString(); + listMap[AUTOREPLACE_LIST_REPLACEMENTS].insert(keyword, LLSD(replacement)); + } + + mLists.append(listMap); } - - return FALSE; } -BOOL LLAutoReplace::setListPriority(std::string listName, int priority) +void LLAutoReplaceSettings::set(const LLAutoReplaceSettings& newSettings) { - if(mAutoReplaces.has(listName)) + mLists = newSettings.mLists; +} + +bool LLAutoReplaceSettings::setFromLLSD(const LLSD& settingsFromLLSD) +{ + bool settingsValid = true; + + if ( settingsFromLLSD.isArray() ) { - mAutoReplaces[listName]["priority"]=priority; - return TRUE; + for ( LLSD::array_const_iterator + list = settingsFromLLSD.beginArray(), + listEnd = settingsFromLLSD.endArray(); + settingsValid && list != listEnd; + list++ + ) + { + settingsValid = listIsValid(*list); + } } - return FALSE; + else + { + settingsValid = false; + LL_WARNS("AutoReplace") << "settings are not an array" << LL_ENDL; + } + + if ( settingsValid ) + { + mLists = settingsFromLLSD; + } + else + { + LL_WARNS("AutoReplace") << "invalid settings discarded; using hard coded example" << LL_ENDL; + } + + return settingsValid; } -LLSD LLAutoReplace::getAutoReplaces() +bool LLAutoReplaceSettings::listNameMatches( const LLSD& list, const std::string name ) { - return mAutoReplaces; + return list.isMap() + && list.has(AUTOREPLACE_LIST_NAME) + && list[AUTOREPLACE_LIST_NAME].asString() == name; } -void LLAutoReplace::loadFromDisk() +const LLSD* LLAutoReplaceSettings::getListEntries(std::string listName) { - std::string filename=getFileName(); - if (filename.empty()) + const LLSD* returnedEntries = NULL; + for( LLSD::array_const_iterator list = mLists.beginArray(), endList = mLists.endArray(); + returnedEntries == NULL && list != endList; + list++ + ) + { + const LLSD& thisList = *list; + if ( listNameMatches(thisList, listName) ) + { + returnedEntries = &thisList[AUTOREPLACE_LIST_REPLACEMENTS]; + } + } + return returnedEntries; +} + +std::string LLAutoReplaceSettings::replacementFor(std::string keyword, std::string listName) +{ + std::string replacement; + bool foundList = false; + for( LLSD::array_const_iterator list = mLists.beginArray(), endList = mLists.endArray(); + ! foundList && list != endList; + list++ + ) { - llinfos << "no valid user directory." << llendl; + const LLSD& thisList = *list; + if ( listNameMatches(thisList, listName) ) + { + foundList = true; // whether there is a replacement or not, we're done + if ( thisList.isMap() + && thisList.has(AUTOREPLACE_LIST_REPLACEMENTS) + && thisList[AUTOREPLACE_LIST_REPLACEMENTS].has(keyword) + ) + { + replacement = thisList[AUTOREPLACE_LIST_REPLACEMENTS][keyword].asString(); + LL_DEBUGS("AutoReplace")<<"'"< '"<fileExists(filename)) + if (replacement.empty()) { - std::string defaultName = getDefaultFileName(); - llinfos << " user settings file doesnt exist, going to try and read default one from "<fileExists(defaultName)) +LLSD LLAutoReplaceSettings::getListNames() +{ + LLSD toReturn = LLSD::emptyArray(); + for( LLSD::array_const_iterator list = mLists.beginArray(), endList = mLists.endArray(); + list != endList && (*list).isDefined(); // deleting entries leaves undefined items in the iterator + list++ + ) + { + const LLSD& thisList = *list; + if ( thisList.isMap() ) { - LLSD blankllsd; - llifstream file; - file.open(defaultName.c_str()); - if (file.is_open()) + if ( thisList.has(AUTOREPLACE_LIST_NAME) ) { - LLSDSerialize::fromXMLDocument(blankllsd, file); + std::string name = thisList[AUTOREPLACE_LIST_NAME].asString(); + toReturn.append(LLSD(name)); + } + else + { + LL_ERRS("AutoReplace") << " ! MISSING "<second.isString() ) + { + listValid = false; + LL_WARNS("AutoReplace") + << "non-string replacement value found in list '" + << list[AUTOREPLACE_LIST_NAME].asString() << "'" + << LL_ENDL; + } } - file.close(); - } + } + + return listValid; } -void LLAutoReplace::saveToDisk(LLSD newSettings) +const LLSD* LLAutoReplaceSettings::exportList(std::string listName) { - mAutoReplaces=newSettings; - std::string filename=getFileName(); - llofstream file; - file.open(filename.c_str()); - LLSDSerialize::toPrettyXML(mAutoReplaces, file); - file.close(); + const LLSD* exportedList = NULL; + for ( LLSD::array_const_iterator list = mLists.beginArray(), listEnd = mLists.endArray(); + exportedList == NULL && list != listEnd; + list++ + ) + { + if ( listNameMatches(*list, listName) ) + { + const LLSD& namedList = (*list); + exportedList = &namedList; + } + } + return exportedList; } -void LLAutoReplace::runTest() +bool LLAutoReplaceSettings::listNameIsUnique(const LLSD& newList) { - std::string startS("He just abandonned all his abilties"); - std::string endS = replaceWords(startS); - llinfos << "!!! Test of autoreplace; start with "< perform_autoreplace(gSavedSettings, "AutoReplace"); - if(!(perform_autoreplace))return currentWord; - //loop through priorities - for(int currentPriority = 10;currentPriority>=0;currentPriority--) + bool found = false; + for( S32 index = 0; !found && mLists[index].isDefined(); index++ ) { - LLSD::map_const_iterator loc_it = mAutoReplaces.beginMap(); - LLSD::map_const_iterator loc_end = mAutoReplaces.endMap(); - for (; loc_it != loc_end; ++loc_it) + if( listNameMatches(mLists.get(index), listName) ) { - const std::string& location = (*loc_it).first; - //llinfos << "location is "< " << replacement.c_str() << llendl; - return replacement; - } - } + LL_DEBUGS("AutoReplace")<<"list '"< perform_autoreplace(gSavedSettings, "AutoReplace"); - if(!(perform_autoreplace)) + LL_DEBUGS("AutoReplace")<(" ")); - for (boost_tokenizer::iterator token_iter = tokens.begin(); token_iter != tokens.end(); ++token_iter) - { - std::string currentWord(*token_iter); - LLSD::map_const_iterator loc_it = mAutoReplaces.beginMap(); - LLSD::map_const_iterator loc_end = mAutoReplaces.endMap(); - for (; loc_it != loc_end; ++loc_it) + if ( listNameMatches( targetList, listName) ) { - const std::string& location = (*loc_it).first; - const LLSD& loc_map = (*loc_it).second; - if((loc_map["data"].has(currentWord))&&(loc_map["enabled"].asBoolean())) + LL_DEBUGS("AutoReplace")<<"found at index "< 0) + { + // copy the target to before the element preceding it + mLists.insert(search_index-1,targetList); + // delete the original, now duplicate, copy + mLists.erase(search_index+1); + } + else { - std::string replacement = loc_map["data"][currentWord]; - lldebugs << "found a word in list " << location.c_str() << " and it will replace " << currentWord.c_str() << " => " << replacement.c_str() << llendl; - int wordStart = words.find(currentWord); - words.replace(wordStart,currentWord.length(),replacement); - return replaceWords(words);//lol recursion! + LL_WARNS("AutoReplace") << "attempted to move top list up" << LL_ENDL; } - } + } } - return words; + return found; } -BOOL LLAutoReplace::addEntryToList(std::string wrong, std::string right, std::string listName) +/// Move the named list down in the priority order +bool LLAutoReplaceSettings::decreaseListPriority(std::string listName) { - // *HACK: Make sure the "Custom" list exists, because the design of this - // system prevents us from updating it by changing the original file... - if(mAutoReplaces.has(listName)) + LL_DEBUGS("AutoReplace")< autoreplace_enabled(gSavedSettings, "AutoReplace"); + if ( autoreplace_enabled ) { - if(mAutoReplaces[listName]["data"].has(wrong)) + //loop through lists in order + bool found = false; + for( LLSD::array_const_iterator list = mLists.beginArray(), endLists = mLists.endArray(); + ! found && list != endLists; + list++ + ) { - mAutoReplaces[listName]["data"].erase(wrong); - return TRUE; + const LLSD& checkList = *list; + const LLSD& replacements = checkList[AUTOREPLACE_LIST_REPLACEMENTS]; + + if ( replacements.has(currentWord) ) + { + found = true; + LL_DEBUGS("AutoReplace") + << "found in list '" << checkList[AUTOREPLACE_LIST_NAME].asString() << "' : '" + << currentWord << "' => '" << replacements[currentWord].asString() << "'" + << LL_ENDL; + returnedWord = replacements[currentWord].asString(); + } } } - return FALSE; + return returnedWord; } -LLSD LLAutoReplace::getExampleLLSD() +bool LLAutoReplaceSettings::addEntryToList(std::string keyword, std::string replacement, std::string listName) { - LLSD toReturn; - - LLSD listone; - LLSD listtwo; - - LLSD itemOne; - itemOne["wrong"]="wrong1"; - itemOne["right"]="right1"; - listone[0]=itemOne; - - LLSD itemTwo; - itemTwo["wrong"]="wrong2"; - itemTwo["right"]="right2"; - listone[1]=itemTwo; - - toReturn["listOne"]=listone; + bool added = false; + if ( ! keyword.empty() && ! replacement.empty() ) + { + bool isOneWord = true; + for (S32 character = 0; isOneWord && character < keyword.size(); character++ ) + { + if ( ! LLWStringUtil::isPartOfWord(keyword[character]) ) + { + LL_WARNS("AutoReplace") << "keyword '" << keyword << "' not a single word" << LL_ENDL; + isOneWord = false; + } + } - itemOne["wrong"]="secondwrong1"; - itemOne["right"]="secondright1"; - listone[0]=itemOne; + if ( isOneWord ) + { + bool listFound = false; + for( LLSD::array_iterator list = mLists.beginArray(), endLists = mLists.endArray(); + ! listFound && list != endLists; + list++ + ) + { + if ( listNameMatches(*list, listName) ) + { + listFound = true; + (*list)[AUTOREPLACE_LIST_REPLACEMENTS][keyword]=replacement; + } + } + if (listFound) + { + added = true; + } + else + { + LL_WARNS("AutoReplace") << "list '" << listName << "' not found" << LL_ENDL; + } + } + } - itemTwo["wrong"]="secondwrong2"; - itemTwo["right"]="secondright2"; - listone[1]=itemTwo; + return added; +} - toReturn["listTwo"]=listone; +bool LLAutoReplaceSettings::removeEntryFromList(std::string keyword, std::string listName) +{ + bool found = false; + for( LLSD::array_iterator list = mLists.beginArray(), endLists = mLists.endArray(); + ! found && list != endLists; + list++ + ) + { + if ( listNameMatches(*list, listName) ) + { + found = true; + (*list)[AUTOREPLACE_LIST_REPLACEMENTS].erase(keyword); + } + } + if (!found) + { + LL_WARNS("AutoReplace") << "list '" << listName << "' not found" << LL_ENDL; + } + return found; +} - return toReturn; +LLSD LLAutoReplaceSettings::getExampleLLSD() +{ + LL_DEBUGS("AutoReplace")< replacement test pairs + + /// Get the replacement for the keyword from the specified list + std::string replacementFor(std::string keyword, std::string listName); + + /// Adds a keywword/replacement pair to the named list + bool addEntryToList(std::string keyword, std::string replacement, std::string listName); + + /// Removes the keywword and its replacement from the named list + bool removeEntryFromList(std::string keyword, std::string listName); + + /** + * Look for currentWord in the lists in order, returning any substitution found + * If no configured substitution is found, returns currentWord + */ + std::string replaceWord(const std::string currentWord /**< word to search for */ ); + + /// Provides a hard-coded example of settings + LLSD getExampleLLSD(); + + private: + /// Efficiently and safely compare list names + bool listNameMatches( const LLSD& list, const std::string name ); + + /// The actual llsd data structure + LLSD mLists; + + static const std::string AUTOREPLACE_LIST_NAME; ///< key for looking up list names + static const std::string AUTOREPLACE_LIST_REPLACEMENTS; ///< key for looking up replacement map + + /**< + * LLSD structure of the lists + * - The configuration is an array (mLists), + * - Each entry in the array is a replacement list + * - Each replacement list is a map with three keys: + * @verbatim + * "name" String the name of the list + * "replacements" Map keyword -> replacement pairs + * + * + * + * + * name List 1 + * data + * + * keyword1 replacement1 + * keyword2 replacement2 + * + * + * + * name List 2 + * data + * + * keyword1 replacement1 + * keyword2 replacement2 + * + * + * + * + * @endverbatim + */ +}; + +/** Provides a facility to auto-replace text dynamically as it is entered. + * + * When the end of a word is detected (defined as any punctuation character, + * or any whitespace except newline or return), the preceding word is used + * as a lookup key in an ordered list of maps. If a match is found in any + * map, the keyword is replaced by the associated value from the map. + * + * See the autoreplaceCallback method for how to add autoreplace functionality + * to a text entry tool. + */ class LLAutoReplace : public LLSingleton { + public: LLAutoReplace(); ~LLAutoReplace(); - static LLAutoReplace* sInstance; -public: - void autoreplaceCallback(LLUIString& inputText, S32& cursorPos); + + /// @return a pointer to the active instance static LLAutoReplace* getInstance(); - BOOL addReplacementList(LLSD newList); - BOOL removeReplacementList(std::string listName); - BOOL setListEnabled(std::string listName, BOOL enabled); - BOOL setListPriority(std::string listName, int priority); - std::string replaceWords(std::string words); - std::string replaceWord(std::string currentWord); - BOOL addEntryToList(std::string wrong, std::string right, std::string listName); - BOOL removeEntryFromList(std::string wrong, std::string listName); - BOOL saveListToDisk(std::string listName, std::string fileName); - LLSD exportList(std::string listName); - void runTest(); - LLSD getAutoReplaces(); - LLSD getAutoReplaceEntries(std::string listName); - void save(); - - void loadFromDisk(); - -private: + + /// Callback that provides the hook for use in text entry methods + void autoreplaceCallback(LLUIString& inputText, S32& cursorPos); + + /// Get a copy of the current settings to be manipulated in the preferences dialog + LLAutoReplaceSettings getSettings(); + ///< @note: the caller is respon + + /// Commit new settings after making changes + void setSettings(const LLAutoReplaceSettings& settings); + + private: friend class LLSingleton; - void saveToDisk(LLSD newSettings); - LLSD getExampleLLSD(); - std::string getFileName(); - std::string getDefaultFileName(); + static LLAutoReplace* sInstance; ///< the active settings instance + + LLAutoReplaceSettings mSettings; ///< configuration information + + /// Write the current lists out to the settings storage + void saveToUserSettings(const LLSD& newSettings); + + /// Read settings from persistent storage + void loadFromSettings(); + + /// Compute the user settings file name + std::string getUserSettingsFileName(); - LLSD mAutoReplaces; + /// Compute the (read-ony) application settings file name + std::string getAppSettingsFileName(); + /// basename for the settings files + static const char* SETTINGS_FILE_NAME; }; -#endif +#endif /* LLAUTOREPLACE_H */ diff --git a/indra/newview/llfloaterautoreplacesettings.cpp b/indra/newview/llfloaterautoreplacesettings.cpp index 1a52e5d493..7d6be10549 100644 --- a/indra/newview/llfloaterautoreplacesettings.cpp +++ b/indra/newview/llfloaterautoreplacesettings.cpp @@ -1,5 +1,5 @@ /** - * @file llautoreplacefloater.cpp + * @file llfloaterautoreplacesettings.cpp * @brief Auto Replace List floater * * $LicenseInfo:firstyear=2012&license=viewerlgpl$ @@ -48,7 +48,8 @@ #include "llfilepicker.h" #include "llfile.h" #include "llsdserialize.h" -//#include "llfloaterchat.h" +#include "llsdutil.h" + #include "llchat.h" #include "llinventorymodel.h" #include "llhost.h" @@ -62,306 +63,577 @@ #include "llinspecttoast.h" #include "llnotificationhandler.h" #include "llnotificationmanager.h" +#include "llnotificationsutil.h" LLFloaterAutoReplaceSettings::LLFloaterAutoReplaceSettings(const LLSD& key) : LLFloater(key) - , namesList(NULL) - , entryList(NULL) - , mOldText(NULL) - , mNewText(NULL) + , mSelectedListName("") + , mListNames(NULL) + , mReplacementsList(NULL) + , mKeyword(NULL) + , mPreviousKeyword("") + , mReplacement(NULL) { } + void LLFloaterAutoReplaceSettings::onClose(bool app_quitting) { - destroy(); + cleanUp(); } BOOL LLFloaterAutoReplaceSettings::postBuild(void) { + // get copies of the current settings that we will operate on + mEnabled = gSavedSettings.getBOOL("AutoReplace"); + LL_DEBUGS("AutoReplace") << ( mEnabled ? "enabled" : "disabled") << LL_ENDL; - namesList = getChild("ac_list_name"); - entryList = getChild("ac_list_entry"); - mOldText = getChild("ac_old_text"); - mNewText = getChild("ac_new_text"); + mSettings = LLAutoReplace::getInstance()->getSettings(); + + // global checkbox for whether or not autoreplace is active + LLUICtrl* enabledCheckbox = getChild("autoreplace_enable"); + enabledCheckbox->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onAutoReplaceToggled, this)); + enabledCheckbox->setValue(LLSD(mEnabled)); - childSetCommitCallback("ac_enable",onBoxCommitEnabled,this); + // top row list creation and deletion + getChild("autoreplace_import_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onImportList,this)); + getChild("autoreplace_export_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onExportList,this)); + getChild("autoreplace_new_list")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onNewList,this)); + getChild("autoreplace_delete_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onDeleteList,this)); - childSetCommitCallback("ac_list_enabled",onEntrySettingChange,this); - childSetCommitCallback("ac_list_show",onEntrySettingChange,this); - childSetCommitCallback("ac_list_style",onEntrySettingChange,this); - childSetCommitCallback("ac_priority",onEntrySettingChange,this); + // the list of keyword->replacement lists + mListNames = getChild("autoreplace_list_name"); + mListNames->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSelectList, this)); + mListNames->setCommitOnSelectionChange(true); - updateEnabledStuff(); - updateNamesList(); + // list ordering + getChild("autoreplace_list_up")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onListUp,this)); + getChild("autoreplace_list_down")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onListDown,this)); - namesList->setCommitOnSelectionChange(TRUE); - childSetCommitCallback("ac_list_name", onSelectName, this); - - childSetAction("ac_deletelist",removeList,this); - childSetAction("ac_rementry",deleteEntry,this); - childSetAction("ac_exportlist",exportList,this); - childSetAction("ac_addentry",addEntry,this); - childSetAction("ac_loadlist",loadList,this); + // keyword->replacement entry add / delete + getChild("autoreplace_add_entry")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onAddEntry,this)); + getChild("autoreplace_delete_entry")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onDeleteEntry,this)); + + // entry edits + mKeyword = getChild("autoreplace_keyword"); + mReplacement = getChild("autoreplace_replacement"); + getChild("autoreplace_save_entry")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSaveEntry, this)); + + // dialog termination ( Save Changes / Cancel ) + getChild("autoreplace_save_changes")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSaveChanges, this)); + getChild("autoreplace_cancel")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onCancel, this)); + + // the list of keyword->replacement pairs + mReplacementsList = getChild("autoreplace_list_replacements"); + mReplacementsList->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSelectEntry, this)); + mReplacementsList->setCommitOnSelectionChange(true); + + mSelectedListName.clear(); + updateListNames(); + updateListNamesControls(); + updateReplacementsList(); return true; } -void LLFloaterAutoReplaceSettings::onSelectName(LLUICtrl* ctrl, void* user_data) + +void LLFloaterAutoReplaceSettings::updateListNames() { - if ( user_data ) + mListNames->deleteAllItems(); // start from scratch + + LLSD listNames = mSettings.getListNames(); // Array of Strings + + for ( LLSD::array_const_iterator entry = listNames.beginArray(), end = listNames.endArray(); + entry != end; + ++entry + ) { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )user_data; - if ( self ) - { - self->updateItemsList(); - } + const std::string& listName = entry->asString(); + mListNames->addSimpleElement(listName); + } + + if (!mSelectedListName.empty()) + { + mListNames->setSelectedByValue( LLSD(mSelectedListName), true ); } } -void LLFloaterAutoReplaceSettings::updateItemsList() + +void LLFloaterAutoReplaceSettings::updateListNamesControls() { - entryList->deleteAllItems(); - if((namesList->getAllSelected().size())<=0) + if ( mSelectedListName.empty() ) { - updateListControlsEnabled(FALSE); - return; + // There is no selected list + + // Disable all controls that operate on the selected list + getChild("autoreplace_export_list")->setEnabled(false); + getChild("autoreplace_delete_list")->setEnabled(false); + getChild("autoreplace_list_up")->setEnabled(false); + getChild("autoreplace_list_down")->setEnabled(false); + + mReplacementsList->deleteAllItems(); } + else + { + // Enable the controls that operate on the selected list + getChild("autoreplace_export_list")->setEnabled(true); + getChild("autoreplace_delete_list")->setEnabled(true); + getChild("autoreplace_list_up")->setEnabled(!selectedListIsFirst()); + getChild("autoreplace_list_down")->setEnabled(!selectedListIsLast()); + } +} - updateListControlsEnabled(TRUE); - std::string listName= namesList->getFirstSelected()->getColumn(0)->getValue().asString(); - - LLSD listData = LLAutoReplace::getInstance()->getAutoReplaceEntries(listName); - childSetValue("ac_list_enabled",listData["enabled"].asBoolean()); - childSetValue("ac_text_name",listName); - childSetValue("ac_priority",listData["priority"]); - - LLSD autoReplaces = listData["data"]; - LLSD::map_const_iterator loc_it = autoReplaces.beginMap(); - LLSD::map_const_iterator loc_end = autoReplaces.endMap(); - for ( ; loc_it != loc_end; ++loc_it) +void LLFloaterAutoReplaceSettings::onSelectList() +{ + std::string previousSelectedListName = mSelectedListName; + // only one selection allowed + LLSD selected = mListNames->getSelectedValue(); + if (selected.isDefined()) { - const std::string& wrong = (*loc_it).first; - const std::string& right = (*loc_it).second; - - LLSD element; - element["id"] = wrong; - LLSD& s_column = element["columns"][0]; - s_column["column"] = "Search"; - s_column["value"] = wrong; - s_column["font"] = "SANSSERIF"; - LLSD& r_column = element["columns"][1]; - r_column["column"] = "Replace"; - r_column["value"] = right; - r_column["font"] = "SANSSERIF"; - - entryList->addElement(element, ADD_BOTTOM); + mSelectedListName = selected.asString(); + LL_DEBUGS("AutoReplace")<<"selected list '"<deleteAllItems(); - if(!gSavedSettings.getBOOL("AutoReplace")) + LLSD selectedRow = mReplacementsList->getSelectedValue(); + if (selectedRow.isDefined()) { - updateItemsList(); - return; + mPreviousKeyword = selectedRow.asString(); + LL_DEBUGS("AutoReplace")<<"selected entry '"<setValue(selectedRow); + std::string replacement = mSettings.replacementFor(mPreviousKeyword, mSelectedListName ); + mReplacement->setValue(replacement); + enableReplacementEntry(); + mReplacement->setFocus(true); } - LLSD autoReplaces = LLAutoReplace::getInstance()->getAutoReplaces(); - LLSD::map_const_iterator loc_it = autoReplaces.beginMap(); - LLSD::map_const_iterator loc_end = autoReplaces.endMap(); - for ( ; loc_it != loc_end; ++loc_it) + else { - const std::string& listName = (*loc_it).first; - - LLSD element; - element["id"] = listName; - LLSD& friend_column = element["columns"][0]; - friend_column["column"] = "Entries"; - friend_column["value"] = listName; - //friend_column["font"] = "SANSSERIF"; - const LLSD& loc_map = (*loc_it).second; - if(loc_map["enabled"].asBoolean()) - { - friend_column["font"] = "SANSSERIF"; - } - else - { - friend_column["font"] = "SANSSERIF_SMALL"; - } - if(namesList) + // no entry selection, so the entry panel should be off + disableReplacementEntry(); + LL_DEBUGS("AutoReplace")<<"no row selected"<deleteAllItems(); + + if ( mSelectedListName.empty() ) + { + mReplacementsList->setEnabled(false); + getChild("autoreplace_add_entry")->setEnabled(false); + disableReplacementEntry(); + } + else + { + // Populate the keyword->replacement list from the selected list + const LLSD* mappings = mSettings.getListEntries(mSelectedListName); + for ( LLSD::map_const_iterator entry = mappings->beginMap(), end = mappings->endMap(); + entry != end; + entry++ + ) { - namesList->addElement(element, ADD_BOTTOM); + LLSD row; + row["id"] = entry->first; + row["columns"][0]["column"] = "keyword"; + row["columns"][0]["value"] = entry->first; + row["columns"][1]["column"] = "replacement"; + row["columns"][1]["value"] = entry->second; + + mReplacementsList->addElement(row, ADD_BOTTOM); } + + mReplacementsList->deselectAllItems(false /* don't call commit */); + mReplacementsList->setEnabled(true); + + getChild("autoreplace_add_entry")->setEnabled(true); + disableReplacementEntry(); } - updateItemsList(); } -void LLFloaterAutoReplaceSettings::updateListControlsEnabled(BOOL selected) + +void LLFloaterAutoReplaceSettings::enableReplacementEntry() { + LL_DEBUGS("AutoReplace")<setEnabled(true); + mReplacement->setEnabled(true); + getChild("autoreplace_save_entry")->setEnabled(true); + getChild("autoreplace_delete_entry")->setEnabled(true); +} - childSetEnabled("ac_text1",selected); - childSetEnabled("ac_text2",selected); - childSetEnabled("ac_text_name",selected); - childSetEnabled("ac_list_enabled",selected); - childSetEnabled("ac_list_show",selected); - childSetEnabled("ac_list_style",selected); - childSetEnabled("ac_deletelist",selected); - childSetEnabled("ac_exportlist",selected); - childSetEnabled("ac_addentry",selected); - childSetEnabled("ac_rementry",selected); - childSetEnabled("ac_priority",selected); - +void LLFloaterAutoReplaceSettings::disableReplacementEntry() +{ + LL_DEBUGS("AutoReplace")<clear(); + mKeyword->setEnabled(false); + mReplacement->clear(); + mReplacement->setEnabled(false); + getChild("autoreplace_save_entry")->setEnabled(false); + getChild("autoreplace_delete_entry")->setEnabled(false); } -void LLFloaterAutoReplaceSettings::updateEnabledStuff() + +// called when the global settings checkbox is changed +void LLFloaterAutoReplaceSettings::onAutoReplaceToggled() { - BOOL autoreplace = gSavedSettings.getBOOL("AutoReplace"); - if(autoreplace) + // set our local copy of the flag, copied to the global preference in onOk + mEnabled = childGetValue("autoreplace_enable").asBoolean(); + LL_DEBUGS("AutoReplace")<< "autoreplace_enable " << ( mEnabled ? "on" : "off" ) << LL_ENDL; +} + +// called when the List Up button is pressed +void LLFloaterAutoReplaceSettings::onListUp() +{ + S32 selectedRow = mListNames->getFirstSelectedIndex(); + LLSD selectedName = mListNames->getSelectedValue().asString(); + + if ( mSettings.increaseListPriority(selectedName) ) { - LLCheckBoxCtrl *enBox = getChild("ac_enable"); - enBox->setDisabledColor(LLColor4::red); - getChild("ac_enable")->setEnabledColor(LLColor4(1.0f,0.0f,0.0f,1.0f)); + mListNames->swapWithPrevious(selectedRow); + updateListNamesControls(); } else { - getChild("ac_enable")->setEnabledColor( - LLUIColorTable::instance().getColor( "LabelTextColor" )); + LL_WARNS("AutoReplace") + << "invalid row ("<save(); +// called when the List Down button is pressed +void LLFloaterAutoReplaceSettings::onListDown() +{ + S32 selectedRow = mListNames->getFirstSelectedIndex(); + std::string selectedName = mListNames->getSelectedValue().asString(); + if ( mSettings.decreaseListPriority(selectedName) ) + { + mListNames->swapWithNext(selectedRow); + updateListNamesControls(); + } + else + { + LL_WARNS("AutoReplace") + << "invalid row ("<getSelectedValue(); + if (selectedRow.isDefined()) + { + std::string keyword = selectedRow.asString(); + mReplacementsList->deleteSelectedItems(); // delete from the control + mSettings.removeEntryFromList(keyword, mSelectedListName); // delete from the local settings copy + disableReplacementEntry(); // no selection active, so turn off the buttons + } } -void LLFloaterAutoReplaceSettings::onBoxCommitEnabled(LLUICtrl* caller, void* user_data) + +// called when the Import List button is pressed +void LLFloaterAutoReplaceSettings::onImportList() { - if ( user_data ) + LLFilePicker& picker = LLFilePicker::instance(); + if( picker.getOpenFile( LLFilePicker::FFLOAD_XML) ) { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )user_data; - if ( self ) + llifstream file; + file.open(picker.getFirstFile().c_str()); + LLSD newList; + if (file.is_open()) { - self->updateEnabledStuff(); + LLSDSerialize::fromXMLDocument(newList, file); } + file.close(); + + switch ( mSettings.addList(newList) ) + { + case LLAutoReplaceSettings::AddListOk: + mSelectedListName = LLAutoReplaceSettings::getListName(newList); + + updateListNames(); + updateListNamesControls(); + updateReplacementsList(); + break; + + case LLAutoReplaceSettings::AddListDuplicateName: + { + std::string newName = LLAutoReplaceSettings::getListName(newList); + LL_WARNS("AutoReplace")<<"name '"<namesList->getFirstSelected()->getColumn(0)->getValue().asString(); - LLAutoReplace::getInstance()->setListEnabled(listName,self->childGetValue("ac_list_enabled").asBoolean()); - LLAutoReplace::getInstance()->setListPriority(listName,self->childGetValue("ac_priority").asInteger()); + case LLAutoReplaceSettings::AddListOk: + LL_INFOS("AutoReplace") << "added new list '"<updateEnabledStuff(); - self->updateItemsList(); - LLAutoReplace::getInstance()->save(); + case LLAutoReplaceSettings::AddListDuplicateName: + { + LL_WARNS("AutoReplace")<<"name '"<namesList->getFirstSelected()->getColumn(0)->getValue().asString(); + case 1: + // Use New Name + LL_INFOS("AutoReplace")<<"option 'use new name' selected"<entryList->getAllSelected().size())>0) - { - std::string wrong= self->entryList->getFirstSelected()->getColumn(0)->getValue().asString(); - LLAutoReplace::getInstance()->removeEntryFromList(wrong,listName); - self->updateItemsList(); - LLAutoReplace::getInstance()->save(); - } - } + default: + LL_ERRS("AutoReplace")<<"invalid selected option "<getFirstSelected()->getColumn(0)->getValue().asString(); + mSettings.removeReplacementList(listName); // remove from the copy of settings + mReplacementsList->deleteSelectedItems(); // remove from the scrolling list + + mSelectedListName.clear(); + updateListNames(); + updateListNamesControls(); + updateReplacementsList(); +} + +void LLFloaterAutoReplaceSettings::onExportList() +{ + std::string listName=mListNames->getFirstSelected()->getColumn(0)->getValue().asString(); + const LLSD* list = mSettings.exportList(listName); + std::string listFileName = listName + ".xml"; LLFilePicker& picker = LLFilePicker::instance(); + if( picker.getSaveFile( LLFilePicker::FFSAVE_XML, listFileName) ) + { + llofstream file; + file.open(picker.getFirstFile().c_str()); + LLSDSerialize::toPrettyXML(*list, file); + file.close(); + } +} - if(!picker.getOpenFile( LLFilePicker::FFLOAD_XML) ) +void LLFloaterAutoReplaceSettings::onAddEntry() +{ + mPreviousKeyword.clear(); + mKeyword->clear(); + mReplacement->clear(); + enableReplacementEntry(); + mKeyword->setFocus(true); +} + +void LLFloaterAutoReplaceSettings::onSaveEntry() +{ + LL_DEBUGS("AutoReplace")<<"called"<getValue().asString(); + std::string replacement = mReplacement->getValue().asString(); + if ( mSettings.addEntryToList(keyword, replacement, mSelectedListName) ) { - LLSDSerialize::fromXMLDocument(blankllsd, file); + // insert the new keyword->replacement pair + LL_INFOS("AutoReplace") + << "list '" << mSelectedListName << "' " + << "added '" << keyword + << "' -> '" << replacement + << "'" << LL_ENDL; + + updateReplacementsList(); } - file.close(); - gSavedSettings.setBOOL("AutoReplace",true); - LLAutoReplace::getInstance()->addReplacementList(blankllsd); - if ( data ) + else { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )data; - if ( self ) - { - self->updateEnabledStuff(); - } + LLNotificationsUtil::add("InvalidAutoReplaceEntry"); + LL_WARNS("AutoReplace")<<"invalid entry " + << "keyword '" << keyword + << "' replacement '" << replacement + << "'" << LL_ENDL; } } -void LLFloaterAutoReplaceSettings::removeList(void* data) + +void LLFloaterAutoReplaceSettings::onCancel() { - if ( data ) - { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )data; - if ( self ) - { - std::string listName= self->namesList->getFirstSelected()->getColumn(0)->getValue().asString(); - LLAutoReplace::getInstance()->removeReplacementList(listName); - self->updateEnabledStuff(); - } + cleanUp(); + closeFloater(false /* not quitting */); +} - } +void LLFloaterAutoReplaceSettings::onSaveChanges() +{ + // put our local copy of the settings into the active copy + LLAutoReplace::getInstance()->setSettings( mSettings ); + // save our local copy of the global feature enable/disable value + gSavedSettings.setBOOL("AutoReplace", mEnabled); + cleanUp(); + closeFloater(false /* not quitting */); } -void LLFloaterAutoReplaceSettings::exportList(void *data) + +void LLFloaterAutoReplaceSettings::cleanUp() +{ + +} + +bool LLFloaterAutoReplaceSettings::selectedListIsFirst() { - if ( data ) + bool isFirst = false; + + if (!mSelectedListName.empty()) { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )data; - if ( self ) + LLSD lists = mSettings.getListNames(); // an Array of Strings + LLSD first = lists.get(0); + if ( first.isString() && first.asString() == mSelectedListName ) { - std::string listName=self->namesList->getFirstSelected()->getColumn(0)->getValue().asString(); - - LLFilePicker& picker = LLFilePicker::instance(); - if(picker.getSaveFile( LLFilePicker::FFSAVE_XML) ) - { - llofstream file; - file.open(picker.getFirstFile().c_str()); - LLSDSerialize::toPrettyXML(LLAutoReplace::getInstance()->exportList(listName), file); - file.close(); - } + isFirst = true; } } + return isFirst; } -void LLFloaterAutoReplaceSettings::addEntry(void* data) + +bool LLFloaterAutoReplaceSettings::selectedListIsLast() { - if ( data ) + bool isLast = false; + + if (!mSelectedListName.empty()) { - LLFloaterAutoReplaceSettings* self = ( LLFloaterAutoReplaceSettings* )data; - if ( self ) + LLSD last; + LLSD lists = mSettings.getListNames(); // an Array of Strings + for ( LLSD::array_const_iterator list = lists.beginArray(), listEnd = lists.endArray(); + list != listEnd; + list++ + ) { - std::string listName= self->namesList->getFirstSelected()->getColumn(0)->getValue().asString(); - std::string wrong = self->mOldText->getText(); - std::string right = self->mNewText->getText(); - if(wrong != "" && right != "") - { - LLAutoReplace::getInstance()->addEntryToList(wrong, right, listName); - self->updateItemsList(); - LLAutoReplace::getInstance()->save(); - } + last = *list; + } + if ( last.isString() && last.asString() == mSelectedListName ) + { + isLast = true; } } + return isLast; } +/* TBD +mOldText = getChild("autoreplace_old_text"); +mNewText = getChild("autoreplace_new_text"); +*/ diff --git a/indra/newview/llfloaterautoreplacesettings.h b/indra/newview/llfloaterautoreplacesettings.h index dd0acb613b..629aea3e3c 100644 --- a/indra/newview/llfloaterautoreplacesettings.h +++ b/indra/newview/llfloaterautoreplacesettings.h @@ -33,9 +33,9 @@ #include "llviewerinventory.h" #include +#include "llautoreplace.h" -class LLFloaterAutoReplaceSettings : -public LLFloater +class LLFloaterAutoReplaceSettings : public LLFloater { public: LLFloaterAutoReplaceSettings(const LLSD& key); @@ -44,27 +44,74 @@ public: /*virtual*/ void onClose(bool app_quitting); void setData(void * data); - void updateEnabledStuff(); - void updateNamesList(); - void updateListControlsEnabled(BOOL selected); - void updateItemsList(); - - LLScrollListCtrl *namesList; - LLScrollListCtrl *entryList; - LLLineEditor* mOldText; - LLLineEditor* mNewText; private: - static void onBoxCommitEnabled(LLUICtrl* caller, void* user_data); - static void onEntrySettingChange(LLUICtrl* caller, void* user_data); - static void onSelectName(LLUICtrl* caller, void* user_data); + /** @{ @name Local Copies of Settings + * These are populated in the postBuild method with the values + * current when the floater is instantiated, and then either + * discarded when Cancel is pressed, or copied back to the active + * settings if Ok is pressed. + */ + bool mEnabled; ///< the global preference for AutoReplace + LLAutoReplaceSettings mSettings; ///< settings being modified + /** @} */ + + /// convenience variable - the name of the currently selected list (if any) + std::string mSelectedListName; + /// the scrolling list of list names (one column, no headings, order manually controlled) + LLScrollListCtrl* mListNames; + /// the scroling list of keyword->replacement pairs + LLScrollListCtrl* mReplacementsList; + + /// the keyword for the entry editing pane + LLLineEditor* mKeyword; + /// saved keyword value + std::string mPreviousKeyword; + /// the replacement for the entry editing pane + LLLineEditor* mReplacement; + + /// callback for when the feature enable/disable checkbox changes + void onAutoReplaceToggled(); + /// callback for when an entry in the list of list names is selected + void onSelectList(); + + void onImportList(); + void onExportList(); + void onNewList(); + void onDeleteList(); + + void onListUp(); + void onListDown(); + + void onSelectEntry(); + void onAddEntry(); + void onDeleteEntry(); + void onSaveEntry(); + + void onSaveChanges(); + void onCancel(); + + /// updates the contents of the mListNames + void updateListNames(); + /// updates the controls associated with mListNames (depends on whether a name is selected or not) + void updateListNamesControls(); + /// updates the contents of the mReplacementsList + void updateReplacementsList(); + /// enables the components that should only be active when a keyword is selected + void enableReplacementEntry(); + /// disables the components that should only be active when a keyword is selected + void disableReplacementEntry(); + + /// called from the AddAutoReplaceList notification dialog + bool callbackNewListName(const LLSD& notification, const LLSD& response); + /// called from the RenameAutoReplaceList notification dialog + bool callbackListNameConflict(const LLSD& notification, const LLSD& response); + + bool selectedListIsFirst(); + bool selectedListIsLast(); - static void deleteEntry(void* data); - static void addEntry(void* data); - static void exportList(void* data); - static void removeList(void* data); - static void loadList(void* data); + void cleanUp(); }; #endif // LLFLOATERAUTOREPLACESETTINGS_H diff --git a/indra/newview/skins/default/xui/en/floater_autoreplace.xml b/indra/newview/skins/default/xui/en/floater_autoreplace.xml index 5baae4f0d4..df3b1c6256 100644 --- a/indra/newview/skins/default/xui/en/floater_autoreplace.xml +++ b/indra/newview/skins/default/xui/en/floater_autoreplace.xml @@ -6,228 +6,286 @@ bottom="400" left="300" can_resize="false" - height="500" - width="400" - name="ac_floater" + height="455" + width="490" + name="autoreplace_floater" title="Autoreplace Settings"> -