sifter.js-0.5.3/000077500000000000000000000000001321014527000134215ustar00rootroot00000000000000sifter.js-0.5.3/.gitignore000066400000000000000000000000651321014527000154120ustar00rootroot00000000000000.DS_store node_modules benchmark/report.json coveragesifter.js-0.5.3/.npmignore000066400000000000000000000000331321014527000154140ustar00rootroot00000000000000*.md .git* benchmark/ test/sifter.js-0.5.3/.travis.yml000066400000000000000000000002021321014527000155240ustar00rootroot00000000000000sudo: false language: node_js node_js: - "4" - "6" before_script: - make script: - make test-ci - make test-ci-coverage sifter.js-0.5.3/Makefile000066400000000000000000000026361321014527000150700ustar00rootroot00000000000000.PHONY: compile test test-ci release benchmark MOCHA=node_modules/.bin/mocha COVERALLS=node_modules/.bin/coveralls _MOCHA=node_modules/.bin/_mocha ISTANBUL=node_modules/.bin/istanbul UGLIFYJS=node_modules/.bin/uglifyjs OUT=sifter.js OUT_MIN=sifter.min.js BANNER=/*! sifter.js | https://github.com/brianreavis/sifter.js | Apache License (v2) */ all: compile benchmark: node --expose-gc benchmark/index.js test: $(MOCHA) -R list test-ci: $(MOCHA) -R tap test-ci-coverage: @rm -rf coverage $(ISTANBUL) cover $(_MOCHA) --report lcovonly -- -R tap @echo @echo Sending report to coveralls.io... @cat ./coverage/lcov.info | $(COVERALLS) @rm -rf ./coverage @echo Done compile: @cp lib/sifter.js sifter.js $(UGLIFYJS) --mangle -b beautify=false,ascii_only=true --output $(OUT_MIN) $(OUT) @echo "$(BANNER)" | cat - $(OUT_MIN) > temp && mv temp $(OUT_MIN) @echo "`cat $(OUT_MIN) | gzip -9f | wc -c` bytes (gzipped)" release: ifeq ($(strip $(version)),) @echo "\033[31mERROR:\033[0;39m No version provided." @echo "\033[1;30mmake release version=1.0.0\033[0;39m" else sed -i.bak 's/"version": "[^"]*"/"version": "$(version)"/' package.json sed -i.bak 's/"version": "[^"]*"/"version": "$(version)"/' bower.json rm *.bak make compile git add . git commit -a -m "Released $(version)." git tag v$(version) git push origin master git push origin --tags npm publish @echo "\033[32mv${version} released\033[0;39m" endifsifter.js-0.5.3/README.md000066400000000000000000000154041321014527000147040ustar00rootroot00000000000000# sifter.js [![NPM version](http://img.shields.io/npm/v/sifter.svg?style=flat)](https://www.npmjs.org/package/sifter) [![Installs](http://img.shields.io/npm/dm/sifter.svg?style=flat)](https://www.npmjs.org/package/sifter) [![Build Status](https://travis-ci.org/brianreavis/sifter.js.svg)](https://travis-ci.org/brianreavis/sifter.js) [![Coverage Status](http://img.shields.io/coveralls/brianreavis/sifter.js/master.svg?style=flat)](https://coveralls.io/r/brianreavis/sifter.js) Sifter is a client and server-side library (via [UMD](https://github.com/umdjs/umd)) for textually searching arrays and hashes of objects by property – or multiple properties. It's designed specifically for autocomplete. The process is three-step: *score*, *filter*, *sort*. * **Supports díåcritîçs.**
For example, if searching for "montana" and an item in the set has a value of "montaña", it will still be matched. Sorting will also play nicely with diacritics. * **Smart scoring.**
Items are scored / sorted intelligently depending on where a match is found in the string (how close to the beginning) and what percentage of the string matches. * **Multi-field sorting.**
When scores aren't enough to go by – like when getting results for an empty query – it can sort by one or more fields. For example, sort by a person's first name and last name without actually merging the properties to a single string. * **Nested properties.**
Allows to search and sort on nested properties so you can perform search on complex objects without flattening them simply by using dot-notation to reference fields (ie. `nested.property`). ```sh $ npm install sifter # node.js $ bower install sifter # browser ``` ## Usage ```js var sifter = new Sifter([ {title: 'Annapurna I', location: 'Nepal', continent: 'Asia'}, {title: 'Annapurna II', location: 'Nepal', continent: 'Asia'}, {title: 'Annapurna III', location: 'Nepal', continent: 'Asia'}, {title: 'Eiger', location: 'Switzerland', continent: 'Europe'}, {title: 'Everest', location: 'Nepal', continent: 'Asia'}, {title: 'Gannett', location: 'Wyoming', continent: 'North America'}, {title: 'Denali', location: 'Alaska', continent: 'North America'} ]); var result = sifter.search('anna', { fields: ['title', 'location', 'continent'], sort: [{field: 'title', direction: 'asc'}], limit: 3 }); ``` Seaching will provide back meta information and an "items" array that contains objects with the index (or key, if searching a hash) and a score that represents how good of a match the item was. Items that did not match will not be returned. ``` {"score": 0.2878787878787879, "id": 0}, {"score": 0.27777777777777773, "id": 1}, {"score": 0.2692307692307692, "id": 2} ``` Items are sorted by best-match, primarily. If two or more items have the same score (which will be the case when searching with an empty string), it will resort to the fields listed in the "sort" option. The full result comes back in the format of: ```js { "options": { "fields": ["title", "location", "continent"], "sort": [ {"field": "title", "direction": "asc"} ], "limit": 3 }, "query": "anna", "tokens": [{ "string": "anna", "regex": /[aÀÁÂÃÄÅàáâãäå][nÑñ][nÑñ][aÀÁÂÃÄÅàáâãäå]/ }], "total": 3, "items": [ {"score": 0.2878787878787879, "id": 0}, {"score": 0.27777777777777773, "id": 1}, {"score": 0.2692307692307692,"id": 2} ] } ``` ### API #### #.search(query, options) Performs a search for `query` with the provided `options`.
Option Type Description
fields array An array of property names to be searched.
limit integer The maximum number of results to return.
sort array An array of fields to sort by. Each item should be an object containing at least a "field" property. Optionally, direction can be set to "asc" or "desc". The order of the array defines the sort precedence.

Unless present, a special "$score" property will be automatically added to the beginning of the sort list. This will make results sorted primarily by match quality (descending).
sort_empty array Optional. Defaults to "sort" setting. If provided, these sort settings are used when no query is present.
filter boolean If false, items with a score of zero will not be filtered out of the result-set.
conjunction string Determines how multiple search terms are joined ("and" or "or", defaults to "or").
nesting boolean If true, nested fields will be available for search and sort using dot-notation to reference them (e.g. nested.property)
Warning: can reduce performance
## CLI ![CLI](http://i.imgur.com/fSQBnWZ.png) Sifter comes with a command line interface that's useful for testing on datasets. It accepts JSON and CSV data, either from a file or from stdin (unix pipes). If using CSV data, the first line of the file must be a header row. ```sh $ npm install -g sifter ``` ```sh $ cat file.csv | sifter --query="ant" --fields=title $ sifter --query="ant" --fields=title --file=file.csv ``` ## Contributing Install the dependencies that are required to build and test: ```sh $ npm install ``` First build a copy with `make` then run the test suite with `make test`. When issuing a pull request, please exclude "sifter.js" and "sifter.min.js" in the project root. ## License Copyright © 2013–2015 [Brian Reavis](http://twitter.com/brianreavis) & [Contributors](https://github.com/brianreavis/sifter.js/graphs/contributors) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. sifter.js-0.5.3/benchmark/000077500000000000000000000000001321014527000153535ustar00rootroot00000000000000sifter.js-0.5.3/benchmark/corpus.csv000066400000000000000000005625001321014527000174130ustar00rootroot00000000000000word aaron abacus abandon abandoned abandoning abandonment abandons abate abatement abba abbas abbey abbot abbott abbreviation abbreviations abdomen abdominal abduct abducted abduction abel aberdeen aberration abide abiding abigail abilities ability able abner abnormalities abnormally aboard abode abolish abolishing abolition abolitionist abolitionists abominable abomination aboriginal abort abortion abortionists abortions abound abounds about above abraham abrasions abreast abridge abroad abrogation absence absentee absolute absolutely absolutes absolutist absorb absorber absorbs absorption abstract abstraction abstractions abstracts absurdities absurdity abundance abundant abuse abuser abusers abuses abusing abyss academia academic academics academy acadia acapulco accelerate accelerated accelerates accelerating acceleration accelerator accelerometer accelerometers accent accented accents accept acceptability acceptable acceptance acceptances accepted accepting accepts access accessed accessibility accessible accessing accession accessories accessory accident accidentally accidents acclimated accolade accommodate accommodated accommodates accommodation accommodations accompanied accompany accompanying accompli accomplice accomplished accomplishment accomplishments accord accordance according accordingly accordion accords account accountability accountable accountants accounting accounts accreditation accredited accretion accumulate accumulated accumulation accuracies accuracy accurate accurately accusation accusations accusative accuse accused accusers accuses accusing acetate acetic ache aches achievable achieve achieved achievement achievements achieves achieving achilles aching acid acidic acids acker acknowledge acknowledged acknowledgement acknowledges acknowledging acknowledgment acme acne acorn acoustic acquaintance acquaintances acquainted acquire acquired acquires acquiring acquisition acquisitions acquittal acquitted acre acres acrimonious acronym acronyms across acted acting action actions activate activated activation active actively activism activist activists activities activity acton actor actors actress acts actual actuality actually actuarial actuaries actuator acuity acupuncture acute adage adam adamant adamantly adams adapt adaptability adaptation adapter adapters adapting adaptive adaptor addendum adder addict addicted addiction addictive addicts adding addison addition additional additionally additions additive additives address addressable addressed addresses addressing adds aden adept adequate adequately adhere adherence adherents adheres adhering adhesive adhesives adios adjacent adjective adjectives adjudication adjust adjustable adjusted adjusters adjusting adjustment adjustments adjusts administer administered administering administers administration administrations administrative administrator administrators admiral admirals admiration admire admired admirer admissible admission admissions admit admits admitted admonish admonition admonitions adobe adolescence adolescent adolescents adolf adolph adopt adopted adopting adoption adopts adorn adrenaline adriatic adrift adulation adult adults advance advanced advancement advancements advances advancing advantage advantages advent adventist adventure adventurer adventurers adventures adverb adversaries adversary adverse advertise advertised advertisement advertisements advertiser advertisers advertising advice advisability advise advised adviser advisers advising advisor advisors advisory advocacy advocate advocated advocates advocating aegean aerial aero aerobic aerodynamics aeronautical aeronautics aerosol aerospace aesop aesthetic aesthetics affair affairs affect affected affecting affection affects affidavit affiliate affiliated affiliates affiliation affiliations affinity affirm affirmation affirmative affirmed affirming affirms affliction affluent afford affordable affords afghan afghanistan afghans afoul afraid africa african africans afro after afterlife aftermarket aftermath afternoon afternoons aftershock afterthought again against agate aged agee agencies agency agenda agendas agent agents ager agers ages aggie aggravate aggravated aggravating aggravation aggregate aggregated aggregates aggression aggressive aggressiveness aggressor aggressors agile aging agitators agnostic agonizing agonizingly agony agora agrarian agree agreeing agreement agreements agricultural agriculture ahab ahead aide aides aiding aids ailment ailments ails aimed aiming aims airbag airbags airborne aircraft airfare airfares airfield airflow airframe airhead airing airlift airline airliner airliners airlines airmail airplane airplanes airport airports airs airspace airtight airwaves airway airways ajax akin akron alabama aladdin alameda alamo alamos alan alarm alarmed alarming alarms alaska alaskan alba albania albanian albanians albany albee albeit albert alberta albion album albums albuquerque alchemy alcohol alcoholic alcoholism alec alert alerting ales alexander alexandria alexia alfa alfalfa alfonso alfred algae algebra algebraic algeria algerian algiers algonquin algorithm algorithms alias aliases alibi alice alien alienation aliens align aligning alignment alignments aligns alike alison alive alkaline allah allan allegation allegations allege alleged allegedly alleges allegheny allegiance alleging allegro allen allergies allergy alleviate alleviated alley alleys alliance alliances alliant allied allies alligator allocate allocated allocates allocating allocation allocations allot allow allowable allowance allowances allowing allows alloy alloys alls allusion ally alma almanac almighty almonds almost alms aloe aloft aloha alone along alongside alpha alphabet alphabetical alphanumeric alpine alps already alright also altar alter alteration alterations altered altering alternate alternative alternatively alternatives alters although altitude altitudes alto altogether altos altruism alum aluminum alumni alumnus always alzheimer amal amalgam amar amarillo amateur amateurs amaze amazed amazement amazes amazing amazingly amazon ambassador ambassadors amber ambient ambiguity ambiguous ambition ambitions ambitious ambrose ambulance ambulances ambush ameliorate amen amenable amend amended amending amendment amendments amenities america american americans americas amex amiable amicable amid amidst amiga amigos amin amino amir amish amit ammo ammonia ammonium ammunition amnesia amnesty amok amongst amortization amos amount amounts ample amplification amplifications amplified amplifier amplifiers amplitude amsterdam amtrak amusement anabolic anachronism anachronisms anaconda anagram anaheim anal analog analogies analogue analogy analyses analysis analyst analysts analytic analytical analytics analyze analyzed analyzer analyzers analyzing anarchist anarchists anarchy anatomy ancestor ancestors ancestry anchor anchorage anchored anchors anchovy ancient ancients anders anderson andes andre andrew andromeda ands anecdotal anecdotally anecdote anecdotes anemic anesthesia anew angel angeles angelic angels anger angered angers angle angled angles anglican angling anglo angola angry angst anguish angus animal animals animated animation animations animator animators animosity ankara ankle ankles anna annals annapolis anne annealing annex annexation annexing annie annihilated annihilation anniversary annotated annotation annotations announce announcement announcements announcer announcers announces announcing annoy annoyance annoyances annoyed annoying annual annually annulled annum anointed anomalies anomalous anomaly anonymity anonymous anonymously another answer answered answering answers antagonistic antarctic antarctica ante antenna antennae antennas antes anthem anthology anthony anthrax anthropological anthropologist anthropologists anthropology anti antibiotic antibiotics antibodies antibody anticancer anticipate anticipated anticipating anticipation antics antidepressant antidepressants antidote antifungal antigen antigens antilles antioxidant antipathy antique antiquities antiquity antiseptic antithesis antitrust antonio ants anxieties anxiety anxious anxiously anybody anymore anyone anything anytime anyway anyways anywhere aortic apache apart apartheid apartment apartments apathy aperture apes apex aphorism aplenty apocalypse apogee apollo apologies apologist apologists apologize apologized apologizing apology apostle apostles apotheosis appalling apparatus apparel apparent apparently apparition apparitions appeal appealed appealing appeals appear appearance appearances appeared appearing appears appease appeasement appel appellate appended appendix appetite appetites applaud applauded applause apple apples appliance appliances applicability applicable applicant applicants application applications applied applies apply applying appointed appointee appointees appointment appointments appraisal appreciate appreciated appreciates appreciating appreciation apprehension apprentice apprenticeship approach approaches approaching appropriate appropriated appropriateness appropriation appropriations approval approvals approve approved approves approving approximate approximately approximating approximation approximations apricot april apron aptitude aptly aqua aquarium aquarius aquatic aquifer aquifers aquinas arab arabia arabian arabic arabs arbiters arbitrary arbitration arbor arcade arcana arcane arch archaeology archaic archangel archbishop archeological archeology archer arches archetype archie architect architects architectural architecture architectures archive archives arco arctic ardent ardor area areas arena arenas arent ares argentina argentine argentines argo argon argonauts arguable argue argued argues arguing argument argumentative arguments argus ariadne ariel aries arise arisen arises arising aristotle arithmetic arizona arkansas arlington armada armadillo armageddon armaments armchair armed armenia armenian armenians armies arming armistice armor armored armory armour armrest arms armstrong army arnold aromatic around arouses arraigned arranged arrangement arrangements arranges array arrays arrest arresting arrests arrhythmia arris arrival arrivals arrive arrived arrives arriving arrogance arrogant arrow arrows arroyo arsenal arson arteries artery arthritis arthur article articles articulate articulated articulation artifact artifacts artificial artificially artillery artist artists arts artwork aryan asbestos ascend ascendancy ascension ascent ascertain ascii ascot ascribe ashamed asher ashes ashtrays asia asian asians aside asked askew asking aspect aspects aspen aspersions asphalt aspiration aspirations aspire aspirin assailant assailants assassin assassination assassinations assassins assault assaulted assaults assay assemble assembled assembler assemblies assembling assembly assemblyman assent assert asserted asserting assertion assertions asserts asses assessed assessing assessment assessments asset assets assign assigned assigning assignment assignments assigns assimilating assimilation assist assistance assistant assistants assisted assisting assists associate associated associates association associations assorted assortment assume assumed assumes assuming assumption assumptions assurance assurances assure assured assures assuring asterisk asteroids asthma astonishing astonishment astor astound astral astray astrodome astrological astrology astronaut astronauts astronomer astronomers astronomy asylum asynchronous atchison atheism atheist atheists athena athens athlete athletes athletic athletics atlanta atlantic atlantis atlas atmosphere atmospheric atom atomic atoms atonement atop atrocities atrocity atrophy atta attach attached attaches attaching attachment attachments attack attacked attacker attackers attacking attacks attain attained attaining attainment attempt attempted attempting attempts attend attendance attendant attended attendees attending attends attention attentions attesting attic attire attitude attitudes attorney attorneys attract attracting attraction attractions attractive attractiveness attracts attributable attribute attributed attributes attribution auburn auckland auction auctioning audacity audible audience audiences audio audiophile audit audited auditing auditor auditorium auditors augmentation augmented august augustin augustine aunt aura aurora auspices aussie austin australia australian australians austria austrian austrians auth authentic authenticate authenticated authenticating authentication authenticity author authored authorities authority authorization authorizations authorize authorized authorizing authors authorship auto autobahn autobiography autograph autographed autographs automate automated automatic automatically automatics automation automobile automobiles automotive autonomous autonomy autopsies autopsy autos autumn auxiliary avail availability available avalon avant avenger avenue avenues average averaged averages averaging aversion avert averted aviation aviator avid avionics avoid avoidance avoided avoiding avoids await awaited awaiting awaits awake awaken award awarded awarding awards aware awareness away aways awesome awfully awhile awry axed axel axes axiom axis axle axles ayatollah azores aztec aztecs azure baba babbage babble babcock babe babes babies baboon babu baby babylon babysitter bacchus bach bacharach bachelor bachelors back backbone backdoor backdrop backers backfire background backgrounds backhand backing backlash backlog backpack backs backside backtrack backup backups backward backwards backwater backyard bacon bacteria bacterium badge badger badgers badges badlands badly baffled baffling bagel bagels baggage bagging baghdad bags bahamas bail bailed bailey bailout bain bait baits bake baked baker bakers bakersfield bakes baking baku balance balanced balances balancing balboa balconies balcony bald balderdash bale bales balk balkan balkans balky ball ballad ballads ballard ballast ballet ballgame ballistic ballistics balloon ballooning balloons ballot ballots ballpark balls bally baloney balsa baltic baltimore banana bananas band bandages banded bander banding bandit bandits bands bandwagon bandwidth bandy bane bang banged bangers banging bangladesh bank banked banker bankers banking bankrupt bankruptcies bankruptcy bankrupting banks banned banner banners banning banquet bans banyan baptism baptismal baptisms baptist baptists barb barbara barbarian barbarians barbaric barbarism barbarity barbecue barbed barbeque barber barbers barcelona bard bare barely bargain bargaining bargains bari baring baritone barium bark barker barking barlow barman barn barnaby barnacle barnard barney barns barnyard baron baroque barr barracks barrage barre barred barrel barrels barricades barrier barriers barring barringer barry bars bart barter bartering barth bartholomew bartlett barton base baseball based baseline baseman basement basements bases bash bashers bashing basic basics basil basin basing basins basis bask basket basketball baskets bass bastard bastards bastion batch bate bates bath bathe bathing bathroom bathrooms baths bathtub batman baton bats battalion battalions batten batter battered batteries battering batters battery batting battle battlefield battlefields battleground battles battling baud baxter bays bazaar beach beachcomber beacon beacons beaded beads beagle beal beam beams bean beans bear bearable beard beards bearer bearing bearings bears beast beastie beasts beat beaten beating beatings beatles beats beaumont beauties beautiful beautifully beautify beauty beaver became because beck becker beckett becomes becoming bede bedfellow bedlam bedouin bedrock bedroom bedrooms beds bedspread bedtime beef beehive beep beeper beeps beer beers bees beet beethoven beetle beetles befalls before beforehand befuddled began beggar beggars begged begging begin beginner beginners beginning beginnings begins begs begun behalf behave behaving behavior behavioral behaviors behemoth behind behinds beholder bein being beings beirut belch belcher belfast belgian belgium belgrade belief beliefs belies believable believe believed believer believers believes bell belle bellevue bellies belligerence belligerent bellow bellows bells belly belong belonging belongings belongs beloved below belt belton belts beltway belvedere bench benches benchmark benchmarks bend bender bending bends bene beneath benefactor beneficent beneficial benefit benefited benefiting benefits benefitted benevolence benevolent bengals benign benignly benin benjamin benny bent benzene berate berets beretta berg berger bergman berk berkeley berkshire berlin bermuda bernard berne berries berry berryman berth beryl beside besides beta betas beth bethesda bethlehem betray betrayal betrayed bets better betting betty between beverage beverages bewildered beyond bias biased biases bible bibles biblical bibliography bicentennial bickering bicycle bicycles bicycling bidder bidding biding bids biennial biff bifurcation bigfoot biggest biggie bigotry bigots bike biker bikers bikes biking bikini bilateral bile bilingual bill billboard billboards billed billing billings billion billionaire billions billionth bills billy bimonthly bind binder binding bing bingo binocular binoculars binomial bins biochemist biochemistry biographical biographies biography biological biologics biologist biologists biology biomedical biopsy bios biosphere biotech biotechnology bipartisan bipolar birch bird birds birmingham birth birthday birthplace birthright births biscuits bisexuality bishop bishops bison bitch bite bites biting bits bitter bitterly bitty biweekly bizarre black blackbird blacked blackjack blacklisted blackmail blackman blackness blackout blackouts blacks bladder blade bladed blades blah blair blake blame blamed blames blaming blanc blanca blanco blank blanked blanket blanketing blankets blanking blanks blas blase blast blasted blaster blasting blasts blatant blather blaze blazer blazers blazes blazing bleached bleacher bleachers bleak bled bleed bleeding bleeds blemish blend blender blending blends bless blessed blesses blessing blessings blew blimp blimps blind blinding blindly blindness blinds blink blinks blip bliss blisters blitz blizzard bloated bloating blob bloc block blockade blockaded blockbuster blocked blocker blocking blocks bloke blond blonde blood bloodbath bloodshed bloodstream bloody bloom blooms blossom blossoms blot blow blowers blowing blown blowout blowouts blows blue blueprint blueprints blues bluestone bluff blunder blunders blunt blunted blur blurb blurbs blurred blurry blurt blush blvd board boarder boarding boards boast boat boatload boats bobbing bobby bobcat bobo boca bock bode bodies bodily body bodyguard boeing bogey bogged boggles boggling bogota bogus bohemia boil boiled boiler boilers boiling boils boise bold bolden bolsheviks bolster bolsters bolt bolted bolts bomb bombard bombarded bombardment bombast bombay bombed bomber bombers bombing bombings bombs bona bonanza bond bondage bonded bonding bonds bone bones bonfire bong bongo bonita bonjour bonk bonne bonnet bonnie bonus bonuses bony booed boogie book booked booker booklet booklets books bookshelf bookstore bookstores boom boomer boomerang booming booms boon boondoggle boost boosted booster boosters boosting boosts boot booted booth booting boots booty booze border bordering borderline borders bore bored boredom bores borg boring born borne borrow borrower borrowing borrows bort bosch bose bosom boss bosses bossy boston boswell botch botched bother bothered bothers bottle bottled bottleneck bottles bottom bottoms boucher bought bouillon boulder boulders boulevard bounce bouncer bounces bouncing bound boundaries boundary boundless bounds bountiful bounty bourbon bourgeois bourne bout bouts bowden bowel bowels bowers bowery bowie bowing bowl bowler bowles bowling bowman boxed boxer boxers boxes boycott boycotting boycotts boyer boyfriend boyhood boys bozo bozos brace bracelet braces bracket brackets brad brag bragging brahms braille brain brained brainer brains brainstorm brainwashing brake brakes braking bran branch branches brand branded branding brandon brands brandy bras brash brasil brass brat brats brave bravery braves bravo brawl bray brazen brazil brazilian brazilians breach breached breaches bread breads breadth break breakaway breakdown breakdowns breaker breakers breakfast breakfasts breaking breakout breaks breakthrough breakthroughs breakup bream breast breastfeeding breasts breath breathe breathing breathtaking breathtakingly brecht breck bred breech breed breeder breeders breeding breeds breeze breezed brent bret brethren breton brett brevity brew brewer brewers brewery brewing brewster brian briar bribe bribery bribes brick bricker bricks bride brides bridge bridgeport bridges bridging bridle brief briefcase briefed briefing briefings briefly briefs brigade bright brighten brighter brightest brightly brightness brilliance brilliant brilliantly brin bringing brings brink bristol brit britain britannica british britons brits britt broad broadcast broadcaster broadcasters broadcasting broadcasts broaden broadening broader broadest broadway broccoli brochure brochures brock broke broken broker brokerage brokers bromide bronco broncos bronx bronze brood brook brooklyn brooks broth brother brotherhood brothers brought brow brown browning browns browse browser browsers browsing bruce bruin bruise bruised bruises brunet brunswick brunt brush brushed brussel brussels brutality brute bryan bubba bubble bubbles buchanan bucharest buck bucket buckeye buckle bucks bucky budapest buddha buddhism buddhist buddhists buddies buddy budge budget budgeted budgets buds buff buffalo buffer buffers buffet buffs bugged bugger buggers bugging buggy bugs buick build builder builders building buildings builds buildup built bulb bulbs bulgaria bulgarian bulge bulk bulky bull bulldogs bulldozer bulldozers bullet bulletin bulletins bulletproof bullets bullfighting bullhorn bullock bulls bullseye bullshit bully bumbling bummer bump bumped bumper bumpers bumping bumps bumpy bums bunce bunch bunches bund bundle bundled bundles bundy bungee bunk bunker bunkers bunnies bunning bunny buns bunt buoyancy burbank burden burdens burdensome bureau bureaucracies bureaucracy bureaucrat bureaucrats burg burge burger burgers burgess burglar burglaries burglars burglary burgundy burial buried buries burke burn burned burner burners burning burns burnt burp burping burr burroughs burrows burst bursts burt burton bury burying buses bush bushel bushes bushy busiest business businesses businessman businessmen busload buss busses bust busted buster busters busting bustling busy butane butch butcher butchering butchers butler butt butte butter buttercup buttered butterflies butterfly button buttons butts buyback buyer buyers buying buyout buys buzz buzzed buzzer buzzes buzzword buzzwords bylaws byline bypass bypasses byproduct byproducts byron bystander bystanders byte bytes byways cabal cabbage cabin cabinet cabinets cable cables cabot cabs cache caches cactus cadaver caddies caddy cadence cadillac cadillacs cadre caesar cafe cafeteria caffeine cage caged cages cahoots cain cairns cairo cajun cake calamities calamity calcium calculate calculated calculates calculating calculation calculations calculator calculators calculus calcutta calderon calendar calendars calf calgary caliber calibrate calibration calico calif california californians call callan caller callers calling calls calm calmed calorie calories calvary calves calvin calypso cambodia cambridge camden came camel camelot camels cameo camera cameraman cameramen cameras camino camouflage camp campaign campaigner campaigning campaigns campbell camper campground campi camping campos camps campus campuses canaan canada canadian canadians canal canals canard canberra cancel canceled cancellation cancelled cancelling cancer cancerous cancers candida candidacy candidate candidates candidly candle candles candlestick candor candy cane canine canister canisters cannabis cannon cannons cannot canon canopy cans cant canterbury canton canvas canyon canyons capabilities capability capable capacities capacitors capacity cape capita capital capitalism capitalist capitalistic capitalists capitalization capitalize capitalized capitals capitol capitols caplan capone capped caps capstone capsule capsules captain captains caption captive captives captivity capture captured captures capturing caramel caravan carbide carbine carbohydrate carbohydrates carbon carcass carcasses carcinogen carcinogens carcinoma card cardboard cardiac cardinal cardinals cardiologist cardiologists cardiology cardiovascular cards care careening career careers carefree careful carefully careless cares caress caretaker carey cargo caricature caring carl carlin carlo carmel carmen carnage carnegie carney carnival carnivals carol carolina caroline carols carolyn carousel carp carpal carpenter carpet carpeting carpets carport carr carriage carriages carried carrier carriers carries carroll carrot carrots carry carrying carryover cars carson cart cartel cartels carter carton cartons cartoon cartoons cartridge cartridges carts cartwright carve carvel carver carving carvings casa casablanca casbah cascade case cases cash cashes cashier cashing casing casings casino casper caspian cass casserole cassette cassettes cast caste castillo casting castle castration castro casts casual casually casualties casualty catalina catalog catalogs catalogue catalogues catalyst catalysts catalytic catastrophe catastrophic catch catcher catchers catches catching catchy cate catechism categorical categorically categories categorization category cater catering caterpillar cates catfish cathedral catherine cathode catholic catholicism catholics cathy cats cattle caucasian caucasus caucus caught causality causation cause caused causes causeway causing caustic caution cautionary cautioned cautions cautious cavalier cavalry cave caveat caveats cavern caverns caviar cavities cavity cayman cease ceases cecil cedar ceiling ceilings celebrate celebrated celebrates celebrating celebration celebrations celebrities celebrity celery celestial celibacy cell cellar cells cellular celsius celtic cement cemetery censored censoring censorship censure census cent centaur centennial center centered centerpiece centers centimeters centipede central centralia centralization centralized centre centres centrifugal centro cents centuries centurion century cereal cereals ceremonial ceremonies ceremony ceres cern certain certainly certainty certificate certificates certification certified certify certifying certitude cervical cesar cessation cesspool cetera chabot chad chain chaining chains chair chaired chairman chairperson chairs chalet chalk challenge challenged challenger challenges challenging cham chamber chamberlain chambers chameleon champ champagne champaign champion champions championship championships champs chan chance chancellor chances chandeliers chandler chang change changeable changed changer changers changes changing channel channels chant chanting chants chaos chaotic chap chaparral chapel chapin chaplain chapman chaps chapter chapters char character characteristic characteristics characterization characterized characterizes characters charade charcoal charge charged charger charges charging chariot charisma charismatic charities charity charlatan charles charleston charley charlie charlotte charlottesville charm charming charon chart charter chartered charters charts chase chased chases chasing chassis chastised chat chatter chatting chauvinist cheap cheaper cheapest cheat cheated cheating cheats check checkbook checked checker checkered checkers checking checklist checkmate checkout checkpoint checks checkup cheddar cheek cheeks cheer cheerleader cheerleaders cheers cheese cheeseburger cheeses cheesy chef chem chemical chemicals chemist chemistry chemists chemotherapy cheng cher cherish cherished cherokee cherokees cherry cherub cheshire chess chessboard chest chester chestnut cheung chevrolet chevron chevy chew chewing cheyenne chia chic chicago chick chicken chickened chickens chico chief chiefs chieftains chihuahua child childbirth childhood children chile chili chill chills chilly chime chimes chimney chimp chimpanzees chimps chin china chinese ching chip chipped chips chiropractic chiropractor chiropractors chirps chit chivalry chlorine chocolate choice choices choir choke choked chokes choking cholesterol choose chooses choosing chop chopin chopper choppers chopping choppy chops chord chords chore choreography chores chorus chose chosen chou chow christ christen christendom christian christianity christians christie christine christmas christopher christy chrome chromium chromosomes chronic chronicle chronicles chronological chronologically chronology chrysler chubby chuck chuckle chum chump chun chung chunk chunks chunky church churches churchill churning chute cicero cider cigar cigarette cigarettes cinch cincinnati cinder cinderella cinema cinnamon circa circle circles circling circuit circuitry circuits circular circulate circulated circulates circulating circulation circumcised circumcision circumference circumstance circumstances circumvented circumventing circus cirrus cisco citation citations cite cited cites citicorp cities citing citizen citizenry citizens citizenship citrus city ciudad civic civics civil civilian civilians civility civilization civilizations civilized clack clad claes claim claimants claimed claiming claims clair claire clam clamp clamping clamps clan clans clare clarendon clarification clarifications clarified clarifies clarify clarifying clarinet clarity clark clarke clash clashes clashing class classes classic classical classically classics classification classifications classified classify classmate classmates classroom classrooms classy claus clause clauses claw claws clay clean cleaned cleaner cleaners cleaning cleanliness cleanly cleans cleanser cleansing cleanup clear clearance clearances cleared clearer clearing clearinghouse clearly clears cleave cleaver clem clemency clement clements cleopatra clergy clergyman clergymen clerical clerics clerk clerks cleveland clever cleverly cliche cliches click clicking clicks client clients cliff cliffs climate climatic climax climb climbed climbers climbing climbs clinch clincher cline cling clinging clinic clinical clinicians clinics clint clip clipboard clipped clipper clippers clipping clippings clips clique clitoris clive cloak cloaking clock clocks clockwise clockwork clog clone clones clos close closed closely closeness closer closes closest closet closeup closing closure clot cloth clothes clothing clots cloud clouded clouds cloudy clough clout clover cloves clown clowns club clubbing clubhouse clubs clue clueless clues clump cluster clustering clusters clutch clutches clutter cluttering coach coaches coaching coal coalition coalitions coals coarse coarser coast coastal coaster coasters coasting coastline coastlines coat coated coating coatings coats coauthor coax coaxial cobalt cobb cobra cobras coca cocaine cock cocked cockpit cockroaches cocks cocktail cocktails cocky cocoa coda coddling code coded coder codes codification codified codify coding coefficient coefficients coerced coercion coexist coexistence coexisting coffee coffers coffin cofounder cogent cognition cognitive cognizant cohen coherence coherent cohesion coil coiled coils coin coinage coincide coincidence coincidences coincidental coined coins coke cola cold coldest coldness colds cole coles coli colin coliseum coll collaborate collaborated collaborating collaboration collaborative collaborator collaborators collage collagen collapse collapsed collapses collapsing collar collateral colleague colleagues collect collected collectible collecting collection collections collective collector collectors collects college colleges collegiate collide colliding collie collier collin collins collision collisions colluding collusion cologne colombia colombo colon colonel colonial colonialism colonies colonists colonization colonize colony color colorado colored colorful coloring colors colossal colossus colt columbia columbian columbo columbus column columnist columnists columns coma comatose comb combat combatants combatting combed combination combinations combine combined combines combing combining combo combs combustion comeback comedian comedy comes comet cometh comets comfort comfortable comforts comfy comic comics coming comma command commandant commander commanders commandment commandments commando commandos commands commas commemorating commemorative commence commenced commencement commendable commendation commended commends commensurate comment commentaries commentary commentator commentators commented commenting comments commerce commercial commercialization commercially commercials commies commissar commissars commission commissioner commissions commit commitment commitments commits committed committee committees committing commodities commodity commodore common commonality commoners commonplace commons commonwealth commune communicate communicated communicates communicating communication communications communicator communicators communion communique communism communist communists communities community commute commuter commuters commuting comp compact companies companion companions companionship company comparative comparator compare compared compares comparing comparison comparisons compartment compartments compass compassion compassionate compatibility compatible compatriots compel compelling compendium compensate compensated compensation compensatory compete competence competencies competency competing competition competitions competitive competitiveness competitor competitors compilation compilations compile compiled compiler compiling complacency complain complained complainers complaining complains complaint complaints complement complementary complete completely completeness completes completing completion complex complexes complexion complexities complexity compliance compliant complicate complicated complicates complication complications complicity complied complies compliment complimentary compliments comply component components compose composed composer composite composites composition compositions compost composure compound compounded compounds comprehend comprehending comprehensible comprehension comprehensive compressed compresses compression compressor compressors comprise comprising compromise compromised compromises comptroller compulsion compulsions compulsive compulsory compunction computation computational computations compute computed computer computers computing comrade comrades coms comsat comstock concealed concealing concealment concede conceit conceive concentrate concentrated concentrates concentrating concentration concentrations concept conception conceptions concepts conceptual conceptualization concern concerned concerning concerns concert concerted concerts concession concessions conclude concluded concludes concluding conclusion conclusions concord concourse concrete concur concurrence concurrently concussion condemn condemnation condemned condemns condensate condensation condensed condenser condiments condition conditional conditioned conditioners conditioning conditions condo condolences condom condoms condor conducive conduct conducted conducting conductive conductivity conductor conductors conducts conduit conduits cone cones conestoga confederacy confederation confer conference conferences conferencing conferred confesses confession confessional confessions confidence confidences confident confidential confidentiality confidentially configuration configurations configure configured configuring confined confinement confines confirm confirmation confirmations confirmatory confirmed confirming confirms confiscate confiscating confiscation conflict conflicting conflicts conform conformance conformed conforming conformist conformity conforms confounding confront confrontation confrontations confronting confucius confused confuses confusing confusingly confusion confusions congenital congestion congo congratulate congratulations congregation congregations congress congresses congressional congressman congressmen congresswoman conical conjecture conjugate conjunction conn connaught connect connected connecticut connecting connection connections connective connectivity connector connectors connects conner conners connie connotation connotations conquer conquering conqueror conquerors conquers conquest conquests cons conscience consciences conscientious conscious consciousness conscription consecrate consecrated consecration consecutive consensus consent consenting consequence consequences conservation conservatism conservative conservatively conservatives conserve conserved conserving consider considerably consideration considerations considered considering considers consign consistency consistent consists consolation console consoles consolidate consolidated consolidation consort consortia consortium conspiracies conspiracy conspirator conspired conspiring constable constancy constant constantinople constantly constants constellation constipation constituencies constituency constituent constituents constitute constitutes constitution constitutional constitutionality constitutions constrained constraint constraints construct constructed constructing construction constructions constructive constructs construed consul consular consulate consult consultancy consultant consultants consultation consultations consultative consulted consulting consume consumed consumer consumerism consumers consumes consuming consummate consumption contact contacted contacting contacts contain contained container containers containing contains contaminant contaminants contaminated contamination contemplate contemplated contemplates contemplating contemplation contemporaries contemporary contempt contender contenders contending contends content contention contentions contentious contents contest contestant contested contesting contests context contexts contiguous continent continental continents contingency contingent continual continually continuation continue continued continues continuing continuity continuous continuously continuum contour contours contra contraception contraceptive contract contracted contracting contraction contractions contractor contractors contracts contractual contradict contradicting contradiction contradictions contradictory contradicts contrary contrast contrasting contrasts contretemps contribute contributed contributes contribution contributions contributor contributors control controllable controlled controller controllers controlling controls controversial controversies controversy contusion conundrum convection convene convenience conveniences convenient conveniently convening convent convention conventional conventions converge convergence convergent converging conversation conversations converse conversely conversion conversions convert converted converter converters convertible convertibles converts convex convey conveyance conveyed conveying conveys convict convicted conviction convictions convince convolution convoy cook cookbook cookie cookies cooking cookout cooks cool coolant cooled cooler cooley coolidge cooling cools coons coop cooper cooperate cooperating cooperation cooperative coordinate coordinated coordinates coordinating coordination coordinator coordinators coos cope coped copenhagen copernicus copied copier copiers copies coping copper copps cops copy copying copyright copyrights cora coral cord corded cordial cordially cordless cords core cores coriander corinth corinthian cork corn cornea cornell corner corners cornerstone corning cornwall corolla corollary corona coronado coroner corp corporal corporate corporation corporations corps corpse corpses corpus correct corrected correcting correction correctional corrections correctly correctness corrects correlates correlating correlation correlations correspondence correspondent correspondents correspondingly corresponds corridor corridors corrie corroded corrosion corrosive corrupt corrupted corruption cortex cortisone corvette corvettes cose cosmetic cosmic cosmo cosmonaut cosmonauts cosmopolitan cosmos cost costa costar costed costing costly costs costume cosy cote cottage cotter cotton couch couched cougars cough could coulter council councils counsel counseling counselor count counted countenance counter counterfeit countermeasure counterpart counterparts counterpoint counterproposal counters counties counting countless countries country countrymen countryside counts county coup coupe couple coupled coupler couples coupling coupon coupons coups courage courageous courant courier couriers course courses court courtesy courthouse courtroom courts courtyard cousin cousins cove covenant covenants coventry cover coverage coverages covered covering coverings covers covert coverup coveted covey cowan coward cowardice cowards cowboy cowboys coworkers cows coyote cozy crack crackdown cracked cracker crackers cracking crackle crackpot crackpots cracks cradle craft crafted crafts craftsman craftsmen crafty craig crain cramp cramped cramps crane crank cranking cranks cranny crap craps crash crashes crashing crass crate crater craters crates crave craven craving craw crawl crawling crawls cray crayons craze crazies craziness crazy cream creams crease create created creates creating creation creationism creations creative creativity creator creators creature creatures credence credential credentials credibility credible credit credited creditors credits cree creed creeds creek creel creep creeping creepy crescendo crescent crest cretaceous crete crew crews crib cribs crick cries crime crimea crimean crimes criminal criminality criminally criminals criminology crimp crimson cringe cripple crippled crippling cris crises crisis crisp crispin criteria criterion critic critical criticism criticisms criticize criticized criticizes criticizing critics critique critiques critter critters croatian crock crocodile crocodiles croissant cronies crony crook crooks crop cropped crops crosby cross crossbow crossed crosses crossfire crossing crossings crossover crossroads crosstalk crossword crouch crow crowbar crowd crowded crowder crowds crown crowning crowns crows cruces crucial crucially crucifixion crucify crud cruddy crude cruelly cruelties cruelty cruise cruiser cruisers cruising crum crumbled crumbling crummy crunch crunching crunchy crusade crusaders crusades crush crushed crusher crushing crust crusted crutch crutches crux crying cryogenic cryogenics crypt crypto crystal crystallography crystals cuba cuban cubans cube cubed cubes cubic cubicle cubicles cubs cuckoo cucumber cuddle cuff cuisine culled culling culminating culmination culpa culpability culprit cult cultists cultivate cultivation cults cultural culture cultured cultures culver cummins cumulative cups curable curb curbed cure cured cures curfew curie curing curiosities curiosity curiouser curiously curling curls curran currency current currently currents curricula curriculum curry curse cursed curses cursing cursor curt curtailed curtailing curtain curtains curvature curve curved curves curving cush cushion cushioned cusp cussed custodians custody custom customary customer customers customize customized customizing customs cutbacks cute cutest cutlass cutler cutoff cutout cutouts cuts cutter cutters cutting cyanide cycle cycles cyclical cycling cyclists cyclone cyclones cyclops cylinder cylinders cymbal cynic cynicism cynics cynthia cypher cypress cypriot cypriots cyprus cyrillic cyrus cyst cystic czar czarist czech czechoslovakia czechs dace daddy dads daemon daffy daft dagger dailies daily dain dairies dairy daisies daisy dakota dale dallas dally dalton damage damaged damages damaging damascus dame damn damnation damned damning damon damp damped dampen damper damsel dana dance danced dancer dancers dances dancing dandy dane danes dang danger dangerous dangerously dangers dangles daniel danish dank danny dante darby darcy dare dares daring dark darkened darkening darkest darkness darling darn darned dart darwin dash dashboard dashed dasher dashes data database databases date dated dateline dates dating datsun datum daughter daughters daunting dave davenport david davies davis dawdle dawn daybreak daydream daylight daylights days daytime dayton daze dazzling deacon deacons dead deadline deadlines deadlock deadly deaf deal dealer dealers dealership dealerships dealing dealings deals dealt dean deans dear dearborn dearest dearth death deathbed deaths debacle debate debated debater debates debating debbie debilitating debit deborah debriefed debris debt debts debug debugging debunk debunked debunking debut debuts decade decades decay decease deceased deceit deceive deceleration december decency decentralized deception deceptive decibels decide decided decidedly decides deciding decimal decimating decimation decipher deciphering decision decisions decisive deck decker decks declaration declarations declare declared declares declaring declassified declassify decline declined declining decode decoder decoding decomposition decompression decontamination decor decoration decorations decorative decorum decoupling decrease decreased decreases decree decrees decry dedicate dedicated dedicating dedication deduct deducted deductible deductibles deduction deductions deed deeds deem deemed deems deep deepen deepest deeply deer defamation default defaults defeat defeated defeating defeats defect defective defects defence defend defendant defendants defended defender defenders defending defends defense defenses defensible defensive defensively defer deferred defiance deficiencies deficiency deficient deficit deficits defies define defined defines defining definite definitely definition definitions definitive deflate deflation deflect deflects deforestation deformation deformed deformities defrauding defray defrost defunct defuse defy defying degeneration degradation degrades degree degrees dehydration deities deity deja delaware delay delaying delays delegate delegates delegation delegations delete deleted deleting deletion deletions delhi deliberate deliberation deliberations delicate delicious delight delighted delightful delighting delights deliver deliverance delivered deliverer deliveries delivering delivers delivery dell delta deluge delusion delusional delusions deluxe delved demagogue demand demanding demands demeanor dementia demise demo democracies democracy democrat democratic democratically democratization democrats demographic demographics demography demolish demolished demolition demon demons demonstrable demonstrably demonstrate demonstrated demonstrates demonstration demonstrations demonstrator demonstrators demos demoted dempster deniability denial denials denied denies denigrated denim denizen denizens denmark dennis denomination denominations denominator denotes denounce denounced dense densest densities density dent dental dented dentist dentistry dentists dents denunciation denver deny denying depart departed departing department departments departure depend dependence dependencies dependency dependent depending depends depicted depicts depleted depleting depletion deplored deploy deployed deploying deployment deportation deporting deposit deposited depositing deposition depositors depository deposits depot depreciate depreciation depress depressant depressants depressed depression depressive deprivation deprived depth depths deputies deputy derby derelict derision derivation derivative derivatives derive derived dermatologist dermatology derogatory derrick derry descartes descendant descendants descended descendents descending descends descent describe described describes describing description descriptions desert deserted deserts deserve deserved deservedly deserves deserving desi design designate designated designates designation designations designed designer designers designing designs desirability desirable desire desired desires desist desk desks desktop desolate despair desperate desperation despised dessert destabilization destabilized destination destinations destinies destiny destroy destroyed destroyer destroyers destroying destroys destruct destruction destructive detach detachable detachment detail detailed detailing details detained detainee detainees detect detected detecting detection detective detector detectors detects detention deter detergent deteriorating deterioration determinant determination determinations determinative determine determined determines determining deterrence deterrent detonation detractors detriment detroit deuterium deutsche devaluation devalued devastated devastation develop developed developer developers developing development developmental developments develops deviation deviations device devices devil devilish devils devious devise devised devises devising devon devonshire devotees devoting devotion devour dexter dexterity diabetes diabetic diabetics diablo diabolical diagnose diagnosed diagnoses diagnosing diagnosis diagnostic diagnostics diagram diagrams dial dialect dialing dialog dialogue dialogues dials dialysis diameter diamond diamonds dian diana diane diaper diapers diaphragm diaries diarrhea diary dias diaspora diatribes dibs dice dichotomy dick dickens dicker dickey dickie dicta dictate dictated dictates dictating dictator dictatorial dictators dictatorship dictatorships dictionaries dictionary dictum diego dies diesel diesels diet dieter dieting dietitian diets diff difference differences different differential differentials differentiated differentiation differently differing differs difficult difficulties difficulty diffusion digest digestion digestive digests digging digit digital digitally digitize digitized digitizing digits dignity digs dilate dilemma dilemmas diligence dill diluted dilution dime dimension dimensional dimensions dimes diminish diminished diminishing dimmer dimming dimple dims diner diners ding dings dining dinky dinner dinosaur dinosaurs diocese diode diodes dioxide diploma diplomacy diplomat diplomatic diplomats dipped dipping dipstick direct directed directing direction directional directions directive directives directly director directorate directories directors directory directs dirk dirt dirty disabilities disability disable disabled disables disabling disadvantage disadvantaged disadvantages disagree disagreeing disagreement disagreements disagrees disallowing disappear disappearance disappeared disappearing disappointed disappointing disappointment disappointments disappoints disapproval disapprove disarmament disarray disaster disasters disastrous disavow disband disbanding disbelief disburse disc discard discarded discarding discerning discernment discharge discharged discharges discharging disciple disciples disciplinary discipline disciplined disciplines disclaim disclaimer disclaimers disclose disclosed disclosing disclosure disclosures disco discomfort disconnect disconnected disconnecting disconnection discontent discontinue discontinued discord discos discount discounted discounting discounts discouragement discourages discouraging discourse discourses discover discovered discoverer discoveries discovering discovers discovery discredit discrediting discreetly discrepancies discrepancy discrete discretion discretionary discriminating discrimination discriminatory discs discus discuss discussed discusses discussing discussion discussions disease diseases disenfranchisement disgrace disgruntled disguise disguised disguising disgust disgusting dish disheartening dishes dishonest dishonesty dishwasher disillusioned disillusionment disinfectant disinformation disintegration disk diskette diskettes disks dislike dislocation dismal dismantling dismay dismayed dismiss dismissal dismissed dismissive disney disneyland disobedience disobedient disobeying disorder disorders disorganization disorganized disorientation disoriented disparaging disparate disparity dispatch dispatched dispatcher dispatches dispatching dispel dispensation dispensing dispersal dispersed dispersion displaced displacement displacing display displays displeasure disposal dispose disposed disposition dispositions disproved disproven dispute disputed disputes disputing disqualified disqualifies disregard disregarding disrepute disrespect disrespectful disrupt disruption disruptive dissatisfaction dissatisfied dissect dissected disseminate disseminating dissemination dissent dissenters dissenting dissents dissertation disservice dissident dissidents dissipates dissipation dissolution dissolve dissolved dissonance dissonant dissuade distance distances distancing distaste distilled distinct distinction distinctions distinctive distinctly distinguish distinguished distinguishes distinguishing distort distorting distortion distortions distract distraction distractions distraught distress distressed distribute distributed distributes distributing distribution distributions distributor distributors district districts distrust distrustful disturb disturbance disturbances disturbed disturbing ditch dither ditto divan dive divergence divers diverse diversified diversion diversions diversity divert diverted dives divide divided dividend dividends divider divides dividing divination divine diving divinity division divisional divisions divisiveness divorce divorced divulged dixie dizziness dizzy dizzying doable dobbin doberman dobson dock docked docket docking docks doctor doctoral doctorate doctors doctrine doctrines document documentaries documentary documentation documented documenting documents dodd dodge dodger dodgers dodges dodging doers does dogfight doggy doghouse dogma dogs doing doings dole doll dollar dollars dolls dolphin dolphins domain domains dome domestic domesticated dominance dominant dominate dominated dominates dominating domination domine domini dominican dominion dominique domino donald donate donated donates donation donations done dong donkey donkeys donna donor donors donovan donut donuts doom doomed doomsday door doorbell doormat doors doorstep doorsteps doorway dope doped doppler dorm dormant dormitories dormitory dorothy dorsal dosage dosages dose doses dosing dostoevsky doth dots dotted double doubled doubles doublespeak doubling doubt doubted doubter doubters doubtful doubts doucet dough doughnut doughnuts doughty douglas dove dover doves down downfall downgrade downhill downing download downloaded downloading downplayed downright downs downside downsizing downstairs downstream downtown downward downwards dozen dozens draft drafted draftees drafting drafts drag dragged dragging dragon dragons drags drain drainage draining drains drake dram drama dramatic dramatically drams drank draper drastically draught draw drawback drawbacks drawer drawers drawing drawings drawn draws dread dreaded dream dreamed dreamer dreamers dreaming dreams dreamt dredge dresden dress dressed dresser dresses dressing drew dribble drier dries drift drifting drifts driftwood drill drilled drilling drills drink drinkers drinking drinks drip dripping drips drive drivel driven driver drivers drives driveway driveways driving drool droopy drop droplet droplets dropouts dropped dropping drops drought drove droves drown drowned drowning drowsiness drug drugs drugstore druid drum drums drunk drunkards drunkenness drunks dryer dryers drying dryness drywall dual duality dubbing dubious dublin duck ducks duct ducts dude dudes dudgeon dudley duds duel duels dues duff duffy dugout dugouts duke dull duluth duly dumas dumb dumber dumbest dummy dump dumped dumping dumps dumpty dundee dune dunes dung dungeon dungeons dunne dunning dupe duplex duplicate duplicated duplicates duplication durability durant duration durham during dusk dust duster dusty dutch duties duty dvorak dwarf dwarfs dwell dwellers dwelling dwellings dwight dwindle dwindling dyed dyer dyes dying dykes dynamic dynamics dynamite dynamo dynasties dynasty dysfunction dysfunctional dyslexic dystrophy each eager eagerly eagerness eagle eagles earl earlier earliest earls early earmarks earn earned earnest earning earnings earns earphone earring earrings ears earth earthly earthquake earthquakes ease eased easel eases easier easiest easily easing east easter eastern easterners eastman eastward easy eater eating eats eavesdropping ebenezer eccentric echelon echo echoes echos eclectic eclipse eclipses ecole ecological ecologist ecology econ economic economical economically economics economies economist economists economy ecosystem ecosystems ecstasy ecstatic ecuador ecumenical eddy edelweiss edema eden edgar edge edged edges edifice edinburgh edison edit edited edith editing edition editions editor editorial editorials editors edits educate educated educating education educational educationally educator educators edward edwards eerily effect effected effecting effective effectively effectiveness effects efficacy efficiencies efficiency efficient efficiently effort efforts egged eggs egos egotism egress egypt egyptian egyptians eiffel eight eightfold eighth eighties einstein eisenhower either ejection elaboration elaine elan elapsed elastic elated elbow elbows elder elderly elders eleanor elect electing election elections elective electorate electric electrical electrician electricians electricity electrics electro electrochemical electrocuted electrode electrodes electromagnetic electron electronic electronically electronics electrons electrophoresis elects elegance elegant elegantly elektra element elementary elements elephant elephants elevate elevated elevates elevation elevations elevator elevators eleven eleventh eligibility eligible elijah eliminate eliminated eliminates eliminating elimination elisha elite elites elitists elizabeth ellen ellipse elliptical elmer eloquent else elsewhere elude elusive elves elvis email emanate emancipation embargo embark embarrass embarrassment embassies embassy embed embellished embers emblazoned emblem embodies embossed embrace embracing embroiled embryo embryos emerge emerged emergence emergencies emergency emerges emerging emeritus emerson emery emigration emily eminence eminent emirate emirates emission emissions emit emits emitting emma emmet emmy emory emotion emotional emotionalism emotions empathize emperor emphases emphasis emphasize emphasized emphasizes emphasizing emphysema empire empires empirical employ employed employee employees employer employers employing employment employs emporium empower empowered empowering empowerment empowers empress emptiness emptor empty emulating emulation enable enabled enabler enables enabling enact enacted enacting enactment encapsulated enclave enclaves enclose enclosed enclosing enclosure enclosures encode encoding encompass encompassed encore encounter encountered encounters encourage encouraged encouragement encourages encroachment encrypt encrypted encryption encyclopedia endangered endangering endangerment endangers endear endeavor endeavors endeavour ended ending endings endless endocrinologist endorse endorsed endorsement endorsements endorses endorsing endowed endowment endpoint ends endurance endures enduring enemies enemy energies energize energized energy enforce enforceable enforced enforcement enforcer enforcers enforces enforcing engage engaged engagement engages engaging engine engineer engineered engineering engineers engines england engle english englishman englishmen engulfed enhance enhanced enhancement enhancements enhancer enhances enhancing enigma enjoy enjoyable enjoyed enjoying enjoyment enjoys enlargement enlarges enlighten enlightened enlightening enlightenment enlist enmity ennui enoch enough enquirer enraged enriched enriching enrichment enroll enrolled ensign enslaved enslavement ensue ensuing ensure ensures ensuring entanglements enter entered entering enterprise enterprises enters entertain entertainers entertaining entertainment enthused enthusiasm enthusiast enthusiasts entire entirely entirety entities entitled entitlement entitles entity entourage entrails entrance entrances entrants entrapped entreaty entrepreneurial entrepreneurs entries entropy entrust entry entryway enumeration envelope envelopes envelops environment environmental environmentalism environmentalist environmentalists environmentally environments environs envisaged envision envisioned envisioning envoy envy enzyme enzymes eons ephraim epic epicenter epidemic epidemiologist epilepsy epileptic episcopal episcopalian episode episodes epitome epoch epsilon equal equality equalization equalized equalizer equalizing equally equals equating equation equations equator equatorial equilibrium equinox equip equipment equitable equity equivalence equivalent equivalents equivocation eradicate eradicating eradication eras erase erased eraser erect erection ergo ergonomic ergonomics eric erie erin ernest erode eroding eros erosion erotic erotica eroticism errands errant erratic erred erroneous error errors eruption eruptions erupts escalate escalated escalating escalation escape escaped escapee escapees escapes escaping eschew escort escorted escorts escrow eskimo eskimos esophagus especially espionage esplanade esprit espy essay essays essence essential essentially essentials establish established establishes establishing establishment establishments estate esteem esther estimate estimated estimates estimating estimation estimator estonia estonian estrada estrogen etch etched etching eternal eternally eternity ethane ethanol ether ethereal ethernet ethic ethical ethically ethics ethiopia ethnic ethnicity ethos ethyl ethylene etiquette etna etymology eucalyptus euclid eugene eugenia eulogy euphemism euphoria eureka euro europa europe european europeans evacuate evacuated evacuation evaders evaluate evaluated evaluates evaluating evaluation evaluations evangelism evangelist evangelistic evangelists evangelize evans evaporate evaporation evasion even evening evenings evenly evens event events eventual eventuality eventually ever everest everglades evergreen everybody everyday everyone everything everywhere eves evidence evidences evil evildoers evils evoke evokes evoking evolution evolutionary evolve evolved evolves exacerbate exacerbated exacerbating exact exactly exaggerate exaggeration exalted exam examination examinations examine examined examiner examiners examines examining example examples exams excalibur exceed exceeded exceeding exceedingly exceeds excel excellence excellent except excepted excepting exception exceptional exceptionally exceptions excerpt excerpted excerpts excess excesses excessive excessively exchange exchanged exchanges exchanging excise excitable excite excitement exciting exclude excluded excludes excluding exclusion exclusions exclusive exclusively exclusivity excrement excursion excuse excuses exec execs execute executed executes executing execution executioners executions executive executives exemplars exemplary exempt exempted exemption exemptions exercise exercised exercises exercising exert exhaust exhausted exhaustive exhausts exhibit exhibiting exhibition exhibits exhorted exile exiles exist existence existing exists exit exited exiting exits exodus exogenous exorbitant exotic exotics expand expandable expanded expanding expanse expansion expansions expansive expectancy expectation expectations expected expectorant expects expedience expediency expedite expedition expeditions expelling expending expenditure expenditures expense expenses expensive experience experienced experiences experiencing experiential experiment experimentation experimented experiments expert expertise experts expiration expire expired expires explain explained explaining explains explanation explanations explanatory explicit explicitly explode explodes exploding exploit exploitation exploited exploiting exploits exploration exploratory explore explored explorer explorers explores exploring explosion explosions explosive explosives expo exponent exponential export exported exporting exports expos expose exposed exposes exposing exposition exposure exposures expound expounds express expresses expression expressions expressly expressway expropriation expulsion extant extendable extended extending extends extension extensions extensive extent exterior external extinct extinction extinguish extinguisher extortion extra extract extracted extracting extraction extracts extradition extraordinarily extraordinary extrapolating extrapolation extras extraterrestrial extraterrestrials extreme extremely extremes extremism extremist extremists extremities extroverted exuberance exxon eyeball eyeballs eyebrows eyed eyeglasses eyelid eyes eyesight eyesore eyewitness eyewitnesses ezekiel ezra fable fables fabric fabricated fabrication fabrications fabulous facade face faced faces facet facets facial facie facilitate facilitated facilitates facilitating facilities facility facsimile fact faction factions factor factories factoring factors factory facts factual factually faculties faculty fade faded fades fading fads fahrenheit fail failed failing fails failsafe failure failures faint fainting fair fairbanks faire fairgrounds fairies fairly fairness fairs fairy fait faith faithful faithfully faiths fake fakes falcon falcons fall fallacies fallacy fallback fallen falling fallout falls false falsehood falsehoods falsification falsified falsity faltering fame familiar familiarity familiarize families family famine famous fanatic fanaticism fanatics fancy fanfare fang fanning fanny fans fantasies fantastic fantasy farce fare fares farewell farley farm farmer farmers farming farmland farms farrow fascinated fascination fascism fascist fashion fashionable fashioned fast fastball fasted fasten faster fastest fasting fatal fatalities fatality fatally fate fated fates father fatherless fathers fathom fatigue fatigues fats fattening fatty fatwa fault faulted faulting faults faulty faust favor favorable favorably favored favoring favorite favorites favoritism favors fawning faxed faxes faxing fear fearing fearless fears feasibility feasible feast feat feather feathers feature featured features featuring february federal federalism federalist federally federation feds feed feedback feeder feeding feeds feel feeling feelings feels fees feet feign feint feisty felix fell feller fellow fellows fellowship fellowships felon felons felony felt felts female females feminine feminism feminist feminists fence fences fencing fend fender fenders feral ferment fermented fermenting fern ferns ferocious ferocity ferret ferris ferry fertile fertility fertilization fertilizer fervor fess fest fester festival fetal fetch fetish fetus fetuses feud fever fevers fiance fiancee fiasco fiat fiber fibers fibre fibrosis fiction fictitious fiddle fiddled fiddling fidel fidelity fides fido fiduciary field fielder fielding fields fiends fife fifteen fifth fifties fifty figaro fight fighter fighters fighting fights figment figure figured figures filament filaments file filed files filibuster filing filings fill filled filler filling fillings fills filly film filming filmmaker films filter filtering filters filth filthy filtration final finale finalists finalize finalized finally finals finance financed finances financial financially financiers financing finch find finder finding findings finds fine fined finely finer fines finesse finest finger fingering fingernail fingernails fingerprint fingerprints fingers fingertip fingertips finish finished finisher finishes finishing finite fink finland finn finnish finns fins fire firearm firearms fireball fireballs firebirds fired firefight firefighters fireman firemen fireplace firepower fires firestorm firewall fireworks firing firings firm firmly firmness firms first firstborn firsthand firstly fiscal fish fisher fisherman fishermen fishers fishes fishing fishman fishy fisk fission fist fists fitch fitness fits fittest fitting fittings fitz fixable fixated fixation fixed fixer fixes fixing fixture fixtures fizzle fizzled flabby flack flag flagged flagging flags flagship flagstaff flair flak flake flakes flaky flame flames flaming flank flap flaps flares flash flashbacks flashers flashes flashing flashlight flashlights flashy flat flatland flats flatten flattening flatter flattered flattery flavor flavors flaw flawed flawless flawlessly flaws flax flea fled fledged fledgling flee fleece fleeing fleet fleets fleming flesh fletcher fleur fleury flew flex flexibility flexible flexing flick flicker flickering flickers flies flight flights fling flint flintstone flip flipped flipper flipping flips flirting float floated floating floats flock flocked flocking flocks flood flooded floodgates flooding floodlights floods floor floored flooring floors flop floppy flops flora florida flotation flourish flourishes flow flowed flower flowers flowery flowing flows fluctuation fluctuations fluent fluff fluffy fluid fluidity fluids fluke flung flurries flurry flush flushing flute flux flyer flyers flying foam foaming focal focus focused focuses focusing fodder foes foggy foil foist fold folded folder folders folding folds folk folklore folks follies follow followed follower followers following follows followup folly folsom fond fondly fone font fonts food foods fool foolish foolishly foolishness foolproof fools foot footage football footed footer foothill foothills footing footnote footnotes footprint footsteps fora forbid forbidden force forced forces forcible forcing ford fords fore forearm forecast forecasting forecasts foreclose forefathers forefront foregoing foreground forehead foreheads foreign foreigner foreigners foreman foremost forensic forensics forerunner foresee foreseen foresight forest forested forestry forests foretold forever forewarned foreword forfeit forfeited forfeiture forge forged forger forgery forget forgets forgetting forging forgive forgiveness forgives forgiving forgo forgot forgotten fork forks form forma formal formaldehyde formalities formalize formally format formation formations formats formed former formidable forming forms formula formulas formulate formulated formulation formulations forsaken forsaking forsee fort forte forth forthcoming forties fortification fortifications fortitude fortnight fortress fortunate fortunately fortune fortunes forty forum forums forward forwarded forwarding forwards fossil fossils foster fostered fostering fosters fought foul found foundation foundations founder founders founding foundry fountain fountains foursquare fourteen fourteenth fourth fowl fowler foxfire foyer fractal fraction fractions fracture fractured fractures fragile fragment fragmentary fragmentation fragmented fragments frame framed frames framework framing france frances franchise franchises francis franciscan francisco franco francs frank frankenstein frankfurt franklin frankly franks frantic frantically franz fraser fraternity fraud fraudulent fraught fray freak freaked freaking freaks fred frederick free freebie freedman freedom freedoms freeing freelance freely freeman freeport freer frees freeway freeways freeze freezer freezers freezes freezing freight freighter french frenzy freon frequencies frequency frequent frequently fresco fresh freshly freshman freshmen fresno fret freud frey friction frictionless frictions friday fridays fridge fried friedman friend friendliness friendly friends friendship friendships fries fright frightened frightening frightful frills fringe fringes frisbee fritz frivolous frog frogs front frontal frontier frontiers fronts frost frown froze frozen fruit fruitcake fruitcakes fruitful fruition fruits frustrated frustrating frustration frustrations frying fuck fudge fuel fueled fuels fugitive fuhrer fuji fulcrum fulfill fulfilling fulfillment fulk full fuller fullness fully fumbling fume fumes function functional functionality functionally functioning functions fund fundamental fundamentalism fundamentalist fundamentalists fundamentals funded funding fundraising funds funeral funerals fungi fungus funk funky funnel funniest funny furious furnace furnish furnished furnishings furniture further furtherance furthering furthermore furthers fury fuse fuselage fuses fusion fuss futile futility future futures fuzz fuzzy gabriel gadfly gadget gadgets gage gail gain gained gaining gains gait galactic galahad galant galante galaxy gale galen galilee galileo gall gallant gallbladder galleries gallery galley gallon gallons gallop galloping galore gals galt galvanized gambit gamble gambler gambling game games gaming gamma gammons gander gandhi gang gangs gangsters gant ganymede gaps garage garages garbage garden gardens garfield gargoyles garland garlic garment garments garner garnering garnet garnett garret garrison garth garvey gary gaseous gases gash gasket gaskins gasoline gasp gasses gastrointestinal gate gated gatekeeper gates gateway gateways gathered gathering gatherings gathers gator gauche gaucher gauge gauges gauging gaul gauntlet gave gays gaze gazed gazette gear gearbox geared gearing gears gecko geek geeks gees geese geez geiger gelatin gemini gems gender genders gene genealogy genera general generalities generality generalization generalizations generalized generalizing generally generals generate generated generates generating generation generations generator generators generic generics generosity generous generously genes genesis genetic genetically genetics geneva genghis genie genital genitalia genitals genius geniuses genoa genocide genome genre gent gentile gentiles gentle gentleman gentlemen gently gentry genuine genuineness geographic geographically geography geological geologists geology geometric geometries geometry geophysical geopolitical george georgia georgian georgians gerald germ germain german germane germans germantown germany germs gervais gestapo gestation gesture gestures getaway gets getter getting ghana ghastly ghetto ghettos ghost giant giants gibberish gibbons gibson giddy gideon gift gifted gifts gigabyte gigabytes gigantic giggle giggling gigs gilbert gilded giles gill gillian gimme gimmick gimmicks ginger ginny giraffe girders girl girlfriend girlie girls gist give giveaway giveaways given giver gives giving gizmo gizmos glacial glacier glad gladiator gladiators gladly gladstone glamour glance glances glancing gland glare glasgow glass glasses glassware glaucoma glaze gleaned glee gleefully glen glendale glens glide glider gliding glimpse glitch glitches glob global globe gloom gloria glorification glorify glorifying glorious glory gloss glossary gloucester glove glover gloves glow glowing glows glucose glue glued gluttony glycol gnarly goal goalie goalkeeper goals goat goats gobble gobbled gobbledygook goblin gobs goddard goddess goddesses godfather godhead godiva godless godly gods godsend goer goers goes goggles going gold golden goldfish goldsmith golem golf golfer golfing goliath golly gomer gomorrah gondola gone gong gonna gonorrhea gonzo good goodbye goodies goodman goodness goodrich goods goodwill goodyear goof goofy gook goon goons goop goose gopher gore gorge gorgeous gorilla gorman gory gosh gospel gospels goss gossip goto gotta gotten gouged gouging gourd gourmet governance governed governing government governmental governments governor governors gown grab grabbed grabber grabbing grabs grace graceful gracefully graces graciously grad gradation grade grader graders grades grading grads gradual gradually graduate graduated graduates graduating graduation graf graffiti graham grail grain grains gram grammar grams granada grand grandchildren granddaddy grandeur grandfather grandfathers grandiose grandma grandmother grandparent grandparents grandson grandstanding granite grant granted granting grants grape grapes grapevine graph graphic graphical graphically graphics graphite graphs grapple gras grasp grass grasses grasshopper grassroots grassy grateful gratification grating gratitude gratuitous grave gravel graves graveyard gravitation gravitational gravity gravy gray grays grazing grease great greater greatest greatly greatness greats greco greece greed greedy greek greeks green greenbelt greenhouse greenhouses greening greenleaf greens greenwich greenwood greet greeted greeting greetings greets gregor gregorian gregory gremlin grenada grenade grenades greta grey greyhound grid gridiron gridlock grids grief grievances grieve griff griffin grill grille grim grimace grime grimm grin grinch grind grinder grinders grinding grinning grins grip gripe gripes griping gripping grips grit gritty grizzly groceries grocery groin grooming groove grooves gross grossly grotesque groucho ground grounded grounding grounds groundwork group grouper grouping groups grove grover groves grow growers growing grown grownups growth grudge grudges gruel grumpy grungy grunt gruss guam guarantee guaranteed guaranteeing guarantees guarantor guard guardian guardians guarding guardrail guards guatemala guerilla guerre guerrilla guerrillas guess guessed guesser guesses guessing guesstimate guesswork guest guests guffaws guiana guidance guide guided guideline guidelines guides guiding guild guilders guilt guilty guinea guinness guise guitar guitars gulf gull gullibility gullible gulls gulp gumbo gummy gump gumption gums gunfight gunfire gung gunman gunmen gunned gunner gunning gunpoint gunpowder guns gunshot gunshots gunther guru gurus gush gust gusting gusto gusts gutierrez guts gutter gutting guyana guys guzzling gynecology gypsies gypsum gypsy gyro gyros haar habit habitat habitation habitats habits habitually hacienda hack hacked hacker hackers hacking hacks haddock hades hagar haggle haggling hague hail hailed hails hailstorm hain hair haired hairline hairs hairy haiti hajj hakim halcyon hale half halftime halide halifax hall hallelujah hallmark hallmarks hallowed halloween halls hallucinations halo halogen halt halted halve halves hamburg hamburger hamburgers hamilton hamlet hammer hammered hammers hamper hampered hampshire hams hamster hamsters hamstring hamstrung hand handbook handbooks handcuffs handed handedly handel handful handgun handguns handicap handiwork handkerchief handle handlebar handlebars handled handler handlers handles handling handmade handout handouts hands handset handshake handsome handwriting handwritten handy hang hangar hanged hanger hanging hangings hangover hangs hangup hank hanover hans happen happened happening happenings happens happier happiest happily happiness happy harassed harassing harassment harbinger harbor harbour hard hardcore hardcover harden hardened hardening harder harding hardly hardship hardships hardware hardwood hardy hare harlem harm harmed harmful harming harmless harmonic harmonics harmony harms harness harnesses harold harp harper harps harris harrison harry harsh harsher harshness hart hartford harvard harvest harvey hasan hash hashed hashing hassle hassles hast hasta haste hastings hasty hatch hatchback hatcher hatches hatching hate hated hater haters hates hatred hats haul hauling haunt haunting haunts have havel haven havens haves having havoc hawaii hawaiian hawk hawkeye hawking hawkins hawks hawthorn hawthorne hayes hays hayward haywire hazard hazardous hazards haze hazel hazy head headache headaches headband header heading headings headlight headlights headline headlines headphone headphones headquartered headquarters headroom heads headset headway heady heal healed healer healing health healthcare healthiest heap heaps hear heard hearers hearing hearings hears hearsay heart heartbeat heartbreak heartbreaking heartburn hearted heartland hearts hearty heat heated heater heaters heath heather heating heats heaven heavenly heavens heavier heaviest heavily heavy hebrew hecht heck hectares hector hedge hedgehog hedging heed heel heels heft hefty height heightened heights heil heinous heir heirs helen helena helicopter helicopters helios helium helix hell heller hellish hellman hello helluva helm helmet helmets helms help helped helper helpers helpful helping helpless helplessness helps helsinki hemingway hemisphere hemlock hemp hence heng henry hens hepatitis hepburn hera herald herb herbal herbert herbs hercules herd herds here hereafter hereby herein heresy heritage herman hermes hernia hero heroes heroic heroics heroin heros herpes herring herrings herschel herself hershey hertz hesitant hesitate hesitation hesitations heterogeneity heterogeneous heterosexual hexagon heyday hiatus hiccup hickory hicks hidden hide hideout hides hiding hierarchies hierarchy high highland highlands highlight highlighted highlighting highlights highly highs hight highway highways hijacked hike hiked hikers hikes hiking hilary hill hiller hillman hills hillside hillsides hilltop hilt himself hinder hindering hinders hindi hindrance hinds hindsight hindu hinduism hindus hinge hinges hint hinterlands hinting hints hippo hips hire hired hires hiring hiroshima hispanic hispanics hissing historian historians historic historical historically histories history hitch hitchhiking hitching hitherto hitler hits hitter hitters hitting hoard hoarding hoards hoax hoaxes hobbies hobby hobbyist hobbyists hockey hodge hoey hogan hogg hogs hogwash hokum hold holden holder holders holding holdings holds hole holes holiday holidays holiness holistic holland holler hollow hollowed holly hollywood holmes holocaust hologram holster holt holy homage home homecoming homeland homelands homeless homemade homeopathic homeowner homeowners homer homeric homers homes homestead hometown homework homicide homicides homily homme homo homogeneity homogeneous homophobia homosexual homosexuality homosexuals honda hondas hone honed honest honestly honesty honey honeymoon hong honk honking honolulu honor honorable honorary honored honors hooch hood hoodlum hoodlums hoods hooey hook hooked hooker hooking hooks hookup hoop hooper hoopla hoops hooray hoot hooters hoover hope hopeful hopefully hopes hopi hoping hopper hops horace horde hordes horizon horizons horizontal hormone hormones horn horner hornet hornets horns horrendous horrible horrific horrified horror horrors hors horse horseback horsemen horsepower horses horseshoe horst hose hosea hosed hoses hospital hospitality hospitalization hospitals host hostage hostages hosted hostess hostile hostilities hostility hosts hotbed hotdogs hotel hotels hotline hotly hots hotshot hotter hottest hough hound hounded hour hourglass hourly hours house household households housekeeping houses housewives housing houston hovercraft hovering howdy howe however howitzer howl howling hoyle hubble hubris hubs hudson hues huff huge hugh hugo hugs hulk hull hulls human humane humanist humanists humanitarian humanities humanity humankind humans humble humbled humbly humbug humidity humiliate humiliated humiliation humility hummingbird humor humorist humorous humpty hunch hundred hundreds hung hungarian hungary hunger hungry hunk hunt hunted hunter hunters hunting hunts hurdle hurdles hurrah hurricane hurricanes hurried hurry hurst hurt hurtful hurting hurts husband husbandry husbands husk husky hustle hustler huts hybrid hybridization hybrids hyde hydra hydraulic hydraulics hydro hydrocarbon hydrocarbons hydrogen hygiene hymn hymns hype hyper hyperactivity hyperbole hyperion hypertension hypnotic hypocrisy hypocrites hypoglycemia hypotheses hypothesis hypothetical hypothetically hysterectomy hysteria iberian ibuprofen icarus iceberg iceland icelandic ices icing icon icons idaho idea ideal idealist idealistic ideals ideas identical identification identified identifier identifies identify identifying identities identity ideological ideologies ideology idiocy idiom idioms idiosyncrasies idiosyncratic idiot idiotic idiots idle idling idol idolatry idols iffy igloo ignite ignited ignition ignoramus ignorance ignorant ignore ignored ignores ignoring iguana iguanas iliad illegal illegality illegally illicit illinois illiterate illness illnesses illogic ills illuminate illuminated illuminating illumination illusion illusions illustrate illustrated illustrates illustration illustrations illustrative illustrator image imagery images imaginary imagination imaginations imagine imaging imagining imam imbalance imbalances imbecile imbedded imitate imitation imitators immaculate immaterial immaturity immediate immediately immemorial immersion immigrant immigrants immigration imminent immobile immorality immortal immortality immune immunity immunization immunizations immunize impact impacted impacting impacts impair impaired impairing impairment impala impart impartial impartiality impartially impasse impatient impeach impeachment impede impediment impediments impending impenetrable imperative imperatives imperfection imperfections imperial imperialism imperialist impersonating impetus impinge implant implantation implausible implement implementation implemented implementing implements implicating implication implications implicitly implied implosion import importance important importantly importation imported importer importers importing imports impose imposed imposes imposing imposition impossibility impossible impossibly imposter impotence impotent impoverishment impregnated impress impressed impresses impression impressionable impressions impressive imprint imprisonment improbable impromptu improper improperly impropriety improve improved improvement improvements improves improving impulse impulses impunity impurities imputation imputed inability inaccuracies inaccuracy inaccurate inaction inactive inactivity inadequacies inadequate inadmissible inadvertent inadvertently inapplicable inaugural inaugurated inbound inbred incarcerating incarceration incarnation incendiary incentive incentives inception incest inch inches incidence incident incidental incidents incinerated incineration incinerators incitement inclination inclinations incline inclined include included includes including inclusion inclusions inclusive income incomes incoming incompatibility incompatible incompetence incomplete incomprehensible inconclusive inconsistencies inconsistency inconvenience inconvenient incorporate incorporated incorporates incorporating incorporation incorrect incorrectly increase increased increases increasing increasingly incredible incredibly incredulity incredulous increment incremental incrementally increments incriminate incriminating incrimination incubation incumbent incumbents incurable incurred incurring indecent indecision indecisive indeed indefinite indefinitely indent independence independent independently indescribable index indexes indexing india indian indiana indianapolis indians indicate indicated indicates indicating indication indications indicative indicator indicators indices indicting indictment indifference indifferent indigenous indignation indigo indiscretions indiscriminately indispensable indisputable indisputably individual individualism individuality individually individuals indoctrination indonesia indonesian indonesians indoor indoors induces inducing inductees induction indulge indulgence indulging industrial industrialization industries industry indy ineffective ineffectiveness inefficiencies inefficiency ineligible inequality inequities inert inertia inescapable inevitability inevitable inevitably inexact inexpensive inexpensively inexperience inexperienced infallibility infamous infamy infancy infant infante infantry infants infatuation infeasible infected infection infections infects inference inferences inferior inferno inferred inferring infertility infestation infidel infidels infield infighting infinity infirmities inflaming inflammation inflatable inflated inflating inflation inflection inflict inflicts inflow influence influenced influences influencing influential influenza influx info inform informant informants informatics information informational informative informed informer informing informs infra infraction infrared infrastructure infringement infringing infuriated infuriates infusion infusions ingestion ingles ingredient ingredients inhabitant inhabitants inhalation inhale inhaled inhaler inhaling inherently inherit inheritance inherited inhibit inhibited inhibition inhibitor inhibitors inhibits initial initially initials initiate initiated initiates initiating initiation initiative initiatives initiator injectable injecting injection injections injector injectors injunction injunctive injured injures injuries injury injustice injustices inkling inks inky inland inlet inmates innards inner innermost inning innings innocence innocent innocents innocuous innovate innovation innovations innovative innovator innovators inns innuendo innuendos inoculated inoffensive input inputs inquire inquired inquirer inquires inquiries inquiring inquiry inquisition inquisitors inroads insanity inscription inscriptions insect insecticide insecticides insects insecure insecurity insensitive insensitivity insert inserted insertion inserts inside insider insiders insight insightful insights insignia insignificant insinuated insist insisted insistence insistent insists insomnia inspected inspection inspections inspector inspectorate inspectors inspiration inspirational inspire inspired inspires inspiring instability installation installations installed installing installs instance instances instant instantaneous instantly instead instigator instigators instilled instinct instincts institute institutes instituting institution institutional institutionalization institutionalized institutions instruct instructed instructing instruction instructional instructions instructor instructors instructs instrument instrumental instrumentation instruments insufficient insulate insulated insulating insulation insulator insulators insulin insult insults insurance insure insured insurer insurers insurgents intact intake intangibles integer integers integral integrate integrated integrates integrating integration integrator integrity intel intellect intellectual intellectuals intelligence intelligent intelligently intend intended intending intends intense intensified intensify intensity intensive intent intention intentional intentionally intentions intents inter interact interacting interaction interactions interactive intercept intercepted intercepting interception interceptor interceptors intercepts intercession interchange interchangeably intercollegiate interconnection interconnections intercontinental intercourse interdependence interdiction interdisciplinary interest interested interesting interests interface interfaces interfaith interfere interference interferes interferon intergovernmental interim interior intermediary intermediate intermission intermittent intern internal internally international internationalization internationally internet internment internship internships interplanetary interplay interpolated interpret interpretation interpretations interpreter interpreters interpreting interpretive interracial interrelated interrogation interrogator interrogators interrupt interrupted interrupting interruption interrupts intersection intersections intersects interstate interstates intertwined interval intervals intervene intervened intervening intervention interventions interview interviewer interviewing interviews interwoven intestinal intestine intestines intimacy intimate intimidate intimidation into intolerance intoxicating intoxication intra intransigence intrepid intricacies intricate intrigued intrigues intrinsic intrinsically intro introduce introduced introduces introducing introduction introductory introspection introverted intruder intruders intrusion intrusions intuition intuitively invade invaders invades invading invalid invalidating invasion invasions invasive invective invent invented inventing invention inventions inventor inventors inventory invents inverness inverse inversion inverted invest invested investigate investigated investigates investigating investigation investigations investigative investigator investigators investing investment investments investor investors invests invincible invisibility invisible invitation invitations invite invited invites inviting invocation invoice invoke invoked invokes involuntary involve involved involvement involves involving invulnerable iodine ions iota iowa iran iranian iranians iraq iraqi iraqis irate ireland iridium iris irises irish irked iron ironic ironically irons ironwood irony iroquois irrational irrationality irreconcilable irregularities irrelevant irrespective irresponsibility irresponsible irrevocable irrevocably irrigate irrigation irritability irritated irritation irritations isaac isabel isaiah ishmael isis islam islamic island islander islanders islands isle isles isolate isolated isolation israel israeli israelis israelite israelites issuance issue issued issues issuing istanbul italian italians italic italics italy itch itching itchy item items iterative itinerary itself ivory jabs jack jacket jackets jackie jackman jackpot jacks jackson jacksonville jacob jacoby jacqueline jade jaded jaeger jagged jaguar jail jailed jails jain jake jama jamaica james jameson jamestown jammed jammer jamming jams jane janet janitor jann january janus japan japanese jargon jars jasmine jason java jaws jays jazz jealous jealousy jean jeanne jeans jeep jeeps jeez jeff jefferson jehovah jello jelly jenny jeopardize jeopardy jere jeremiah jeremy jericho jerk jerks jerky jerry jersey jerseys jerusalem jesse jest jester jesuit jesus jets jetted jewel jewelry jewels jewish jewry jews jibe jihad jill jimmy jingle jinx jitters joan jobless jobs jockey jockeys jocks joel joes joey jogging johannes john johnnie johnny johns johnson joined joiner joining joins joint jointly joints joke joker jokers jokes jolly jolt jolting jonah jonathan jones joneses jordan jordanians jose joseph josephine josh joshua josie joules jour journal journalism journalist journalists journals journey journeyman journeys joust joyce joyful joyous joys joystick juan jubilee judah judaism judas jude judge judged judgement judgemental judgements judges judging judgment judgments judicial judiciary judith judo judy juggernaut juggle juggled juggler juggling jugs jugular juice juicy juke jukebox julian juliet julio julius july jumbo jump jumped jumper jumpers jumping jumps junction june juneau jungle jungles junior junk junket junkie junkies junkyard juno junta jupiter jurassic jure juries juris jurisdiction jurisdictional jurisdictions jurisprudence jurors jury just justice justices justifiable justification justifications justified justifies justify justifying juts juvenile juxtaposition kaiser kale kane kangaroo kangaroos kanji kansas kant karate karen karma kashmir kathy kcal keats keel keen keener keep keeper keepers keeping keeps kegs kell kelly kelvin kemp kennedy kennel kenny kensington kent kentucky kenya kept kern kernel kerosene kerry ketchup kettle keyboard keyboards keyhole keynote keys keystone keystroke keystrokes keyword keywords khaki khalsa khan khartoum kick kickback kicked kicker kickers kicking kicks kiddie kiddies kidding kiddy kidnapped kidnappers kidnapping kidney kidneys kids kiev kiki kill killed killer killers killing killings kills kilobytes kilogram kilometer kilometers kilowatt kilowatts kilt kimura kind kinder kindergarten kindest kindling kindly kindness kindred kinds kinetic kinetics king kingdom kingdoms kingpin kingpins kings kingston kinks kinky kinship kippur kirby kirk kirsch kiss kisses kitchen kitchens kite kits kitten kitty kiwi klan knack knapsack knee kneel knees knell knew knife knight knights knit knives knob knobs knock knocked knocking knocks knoll knot knots know knowing knowingly knowledge known knows knox knoxville knuckles knut koala kodak kohl kondo kong konstantin kook koran korea korean koreans kosher kraft krebs kremlin krill kris krishna kronos krypton kuan kudos kung kuwait kyle kyoto label labeled labeling labels labor laboratories laboratory labored labors labour labs labyrinth lacey lack lacked lackey lackeys lacking lackluster lacks ladder ladders laden ladies lads lady lafayette lagging lags laguna laid lair laird laissez laity lake laker lakers lakes lama lamb lambda lambert lambs lame lament lamenting lamp lamppost lamps lancaster lance lancet land landau landed lander landers landing landings landlord landlords landmark landmarks landmass landowner lands landscape landscapes landscaping lane lanes lang langley language languages lanier lansing lantern lanterns laos laps lapse lapses laptop lard large larger largess largest largo larry lars larynx laser lasers lash last lasted laster lasting lasts latch late lately latency latent later lateral latex latin latitude latitudes latter lattice latvia laud lauded lauderdale laugh laughable laughed laughing laughs laughter launch launched launcher launchers launches launching laundering laundromat laundry laura laureate laurel laurence lava lawful lawless lawmakers lawn lawnmower lawrence laws lawsuit lawsuits lawyer lawyers layer layered layers laying layman laymen layne layout layouts layperson lays lazarus laziness lazy leach lead leader leaders leadership leading leads leaf leaflets leafs league leaguers leagues leak leakage leaked leaking leaks leal lean leaning leanings leans leap leapfrog leaps lear learn learned learner learners learning learns learnt leary lease leased leases leasing least leather leathers leave leaves leaving lebanese lebanon lector lecture lecturer lecturers lectures ledge leech leeches leeds leery lees left leftists leftover leftovers lefty legacy legal legalities legality legalization legalized legally legend legendary legends leger legge legion legionnaires legions legislate legislated legislating legislation legislative legislator legislators legislature legislatures legit legitimacy legroom legs lehr leicester leis leisure lemming lemmings lemon lemons lemur lend lenders lending lends length lengths lengthy leniency lenin leno lens lenses lent leon leonard leonardo leone leopard leos lepers lesbian lesbians lesions less lessee lessen lesser lesson lessons lest lester letdown lethal lethargy lets letter letterhead lettering letterman letters letting lettuce leukemia levant level levels lever leverage levi levied levin levy lewis lexicon leyland liabilities liability liable liaison liar liars liason libel liberal liberals liberate liberation liberia libertarian libertarians liberties liberty libra librarian librarians libraries library libya libyan licence licences license licensed licensee licensees licenses licensing lick licking lids lied lies lieu lieutenant life lifelong lifer lifers lifespan lifestyle lifestyles lifetime lifetimes lift lifted lifter lifting liftoff lifts light lighted lighten lightening lighter lighters lighting lightly lightness lightning lights lightweight like likeable liked likelihood likely liken likeness likes liking lilies lilly lily limb limbo limbs lime limerick limestone limit limitation limitations limited limiting limitless limits limp limping linchpin lincoln lind linda linden linder lindy line lineage linear lined lineman linen liner liners lines lineup lineups ling linger lingerie lingers lingo linguist linguistics lining linings link linkage linked linker linking links linn lino linotype lint lion lionel lions lipid lipoprotein lips lipstick liquid liquidate liquidated liquidation liquids liquor lira lisbon lisp list listed listen listened listener listeners listening listens lister listing listings lists litany lite literacy literally literary literature lithium lithuania litigate litigation litter little littlest live lived livelihood liver liverpool lives livestock livid living lizard llama load loaded loader loading loads loan loaned loans loathe loathed loathing lobbied lobbies lobbing lobby lobbying lobbyist lobbyists lobe lobo lobotomy loca local locale locales localities locality localized locally locals located locating location locations lock locked locker lockers locks locksmith lockup locomotive locomotives locus locust lode lodge lodged lodges lodging loft logan logged logging logic logical logistical logistics logjam logo logos logs loma london lone lonely loner long longer longest longevity longitude longs longtime look looked looker looking lookout looks loom looming looms loon looney loony loop loophole loopholes loops loos loose loosely loosen loosened loosening loosens looser loosing loot looters looting lopes loral loran lord lords lore loren lori lose loser losers loses losing loss losses lost lotion lotions lots lottery lotto lotus loud louder loudly loudspeaker loudspeakers louie louis louise louisiana louisville lounge lousy lovable love loved lovely lover lovers loves loving lowe lowered lowering lowers lowery lowest lowly lowry loyal loyalists loyalties loyalty lube lubricant lubricants lubricate lubrication lucian lucifer luck lucky lucrative lucy ludicrous ludwig luggage luke lukewarm lulling lulu lumber lumen lumina luminous lump lumping lumps lumpy luna lunacy lunar lunatics lunch luncheons lunches lung lungs lupus lurch lure lured lurk lurking lust lustful luther lutheran luxembourg luxuries luxury lying lymph lynch lynchings lynn lynx lyon lyrics macadam mace macedonia macedonian mach machine machinery machines machining machinist macho macintosh mack macro macroeconomic macs madam madden made madeleine madeline madison madman madmen madness madonna madre madrid maestro mafia magazine magazines magdalene magellan mages magi magic magical magically magician magicians magistrate magma magna magnate magnesium magnet magnetics magnets magnification magnificent magnify magnifying magnitude magnitudes magnolia magnum mags mahogany maiden mail mailbox mailboxes mailed mailer mailers mailing mailings mails main maine mainframe mainframes mainland mainly mains mainstay mainstream maintain maintained maintaining maintains maintenance majestic majesty major majorities majority majors make maker makers makes makeshift makeup making makings mala malady malaria malawi malaysia male males malformed malfunction malfunctioning malfunctions malice malicious malign malignant maligned malik mall malls malnutrition malpractice mama mamma mammal mammals mammogram mammography mammoth manage manageable managed management manager managers manages managing manchester manchu mandate mandated mandates mandatory mandolin maneuvers mang manganese manger mangle mangled mangling manhattan manhood manhunt mani mania maniac maniacs manic manifest manifestation manifestations manifesto manifests manifold manila manipulate manipulated manipulating manipulation manipulations manipulator manipulators manitoba mankind manly manned manner manners manning manny manor manpower manslaughter manta mantis mantle manual manually manuals manufacture manufacturer manufacturers manufactures manufacturing manure manuscript manuscripts many maple mapped mapping maps marathon marauders marble marblehead marbles marc marcel march marchers marches marching marco marconi mare margaret margarine marge margin marginal marginalize marginally margins maria marian mariana marie marijuana marilyn marina marine mariner mariners marines maris marital maritime mark marked marker markers market marketing marketplace markets marking markings marks marksmanship markup marlin marlins maroon marque marques marquis marred marriage marriages married marries marrow marry mars marsh marshal marshall marshalls marshals mart marten martha martial martian martians martin martinez martins martyr martyrdom martyred martyrs marvel marx marxism marxist mary maryland mascot masculine masculinity maser mash mask masking masks mason masonic masonry masons mass massachusetts massacre massacres massage massager massaging masse masses massive massively mast mastectomy master mastering masterminds masterpiece masterpieces masters masts masturbate masturbating masturbation match matched matches matching mate mater material materially materials maternal maternity mates math mathematician mathematicians mathematics mathes mating matrix mats matt matter matters matthew mattress mattresses mature maturity maul mauled mauricio maven mavens maverick mavericks mavis maxim maxima maximal maximize maximizes maximizing maximum maxwell maybe mayhem mayo mayor mayors mays maze mccarthyism mccoy mcdonald mead meadow meal meals mean meaning meanings meanness means meant meantime meanwhile measles measurable measure measured measurement measurements measures measuring meat meats mecca mech mechanic mechanical mechanics mechanism mechanisms medal medallion medals meddle meddling media median mediated mediation mediator medic medicaid medical medicare medication medications medicine medicines medics medieval medina mediocre mediocrity meditation mediterranean medium medley meek meese meet meeting meetings meets megabit megabucks megabyte megabytes megahertz megalomania megaphones megawatt melanoma melbourne melissa mellon melody melt meltdown melting melton melts member members membership memberships membrane membranes memento memo memoirs memorable memorandum memorial memories memorize memorizing memory memos memphis menace mend meningitis menopause mens mensch menstrual mental mentality mentally mention mentioned mentioning mentions mentor menu menus meow mercenaries mercer merchandise merchandising merchant merchants mercies mercury mercy mere merge merged merger merges merging meridian merit merits merle merlin merrier merrily merrimack merry merton merv mesa mesh meshes meshing meson mess message messages messaging messed messenger messengers messes messiah messier messrs messy meta metabolic metabolism metal metallic metallurgy metals metalworking metamorphosis metaphor metaphorically metaphors metaphysics mete meteor meteorite meteorological meteorologist meteorologists meteorology meteors meter metering meters meth methane methanol method methodist methodological methodologies methodology methods methyl metric metrics metro metropolis metropolitan mets mexican mexicans mexico miami mica micah mice michael michelangelo michigan mick mickey micro microbes microbial microbiologist microbiology microchip microcomputer microelectronics microfiche microfilm micrograms micron microns microorganisms microphone microphones microprocessor microprocessors microscope microscopes microscopy microsystems microwave microwaves middle mideast midget midland midlands midnight midrange midst midsummer midway midwest mightier mightily mighty mignon migraine migraines migrate migrated migrating migration mike milan mild mildly mile mileage miles milestone milestones militants militaristic military militia militias milk mill millennia millennium miller milligrams millimeter millimeters million millionaire millions millisecond milliseconds mills milo milt milton milwaukee mime mimic mimicking mimics mincemeat mind minded mindful minding minds mine miner mineral minerals miners minerva mines ming mini miniature miniatures minimal minimalist minimize minimized minimizes minimizing minimum minimums mining minion minions miniscule miniskirt miniskirts minister ministers ministries ministry minneapolis minnesota minor minorities minority minors minster mint minus minuses minute minutes mips miracle miracles mirage mire miriam miro mirror mirroring mirrors mirth misadventure misapplication miscellaneous mischief miscommunication misconception misconceptions misconduct miscreants misdemeanor misdemeanors misdiagnosed miserable misery misfits misfortune misfortunes misgivings misguided misidentified misinformation misinterpretation misinterpreting misjudgments mislead misleading misled mismanagement mismatch misnomer misplace misplaced misquoted misread misreading misrepresentation misrepresentations misrepresented miss missed misses missile missiles missing mission missionaries missionary missions mississippi missouri misspelled misspelling misstatements mist mistake mistaken mistakes mistaking mister mistook mistreated mistreatment mistress mistrial mistrust mists misunderstanding misunderstandings misunderstood misuse misused mitch mite mitigate mitigated mitra mitre mitt mitten mitts mixed mixer mixers mixes mixing mixture mixtures mnemonic moan mobil mobile mobility mobilize mobilized mobs mock mockery mockingbird modal modality mode model modeled modeling models modem modems moderate moderated moderately moderates moderation moderator moderators modern modernism modernist modernized modernizing modes modest modesty modicum modification modifications modified modifies modify modifying modular modulation modulator module modules moet mogul moguls mohammed mohr moise moisture mojo mola mold molded molds mole molecular molecule molecules molestation molested molester molesters molesting moliere molly moment momentary momentous moments momentum mommy monaco monarch monarchy monday mondays monde mondo monetary money moneymaker mongering mongers monica monies moniker monitor monitored monitoring monitors monk monkey monkeys monks mono monogram monograph monolith monolithic monopolies monopoly monoxide monroe monster monsters monstrosity mont montage montague montana monte monterey montero montes montgomery month monthly months montreal monument monumental monuments mood moods moody moon moons moore moose moot mora moral morale morality morally morals morass moratorium moray morbidity mordecai morel mores morgan morgue mormon mormons morning mornings morocco moron morph morphine morris morrow morse mort mortality mortals mortar mortem mortgage mortgages mortis mosaic moscow moses moslem moslems mosque mosques mosquito mosquitos moss mostly mota mote motel motels moth mothballed mothballing mothballs mother motherland mothers motif motion motions motivate motivated motivating motivation motivations motivator motive motives motor motorcade motorcycle motorcycles motorcyclist motoring motorist motorists motorized motors motto mottos mound mounds mount mountain mountainous mountains mounted mounting mounts mourn mourned mourner mourning mourns mouse mouser mousetrap moustache mouth mouthful mouthpiece mouths move moved movement movements mover moves movie movies moving mower mowers mowing mozambique mozart much muck mucus mudd muddle muddled muddy muff muffin muffle muffler mugger muggers mugs muhammad muir mulberry mulch mulder mule mules mull mullahs mullen muller multi multilateral multimedia multinational multiple multiples multiplication multiplicity multiplied multiplier multiply multipurpose multitasking multitude mumble mummy munch munich municipal municipalities municipality munitions murals murder murdered murderer murderers murdering murders murky murphy murr murray musa muscle muscles muscular muse muses museum museums mush mushroom mushrooms music musical musician musicians musings muslim muslims mussolini mustang mustangs mustard muster mutant mutants mutation mutations mute muted mutilation mutt muttered mutual mutuality mutually muzzle mylar myopia myopic myriad myron myrtle myself mysteries mysterious mysteriously mystery mystic mysticism mystics mystified mystique myth mythology myths nacho nada nagasaki nagel nagging nail nailed nailing nails naivete naked name named nameless nameplate nameplates names naming nancy nanny nanoseconds naomi napa napalm napkin napkins napoleon narcotics narrated narrative narratives narrator narrow narrower narrowing narrowly narrowness nary nasa nasal nash nashville nasty natal nation national nationalism nationalist nationalists nationalities nationality nationals nationhood nations nationwide native natives nato natural naturalization naturally nature natures naught naughty nausea nautical nautilus navajo naval nave navel navigate navigating navigation navigator navy nazareth nazi nazis nazism neal near nearby nearer nearest nearing neat neatly nebraska nebula necessarily necessary necessitate necessities necessity neck necked necklace necks nectar need needed needful needham needing needle needles needless needs needy nefarious negates negation negative negatively negatives negativism neglect neglected negligence negligent negligible negotiable negotiate negotiated negotiating negotiation negotiations negotiator negotiators negro nehru neighbor neighborhood neighborhoods neighboring neighbors neither nelson nemesis nemo neon nepal nephew nephews nepotism neptune nerd nerds nerve nerves nervousness ness nest nestor netherlands nets netted nettles network networked networking networks neural neurological neurologist neurology neurons neuropathy neuroscientist neurosurgeon neutral neutrality neutralize neutrals neutrino neutron neutrons nevada never nevermind nevertheless newark newborn newborns newcastle newcomer newcomers newest newfound newfoundland newish newly newness newport news newscasts newsgroup newsletter newsletters newsmagazine newsmen newspaper newspapers newspeak newsprint newsstand newsweek newton next nexus ngai niagara nibble nibbles nicaragua nice nicely nicer niceties niche niches nicholas nick nickel nickelodeon nickle nickname nicknamed nicknames nicks nicotine niece nielsen nietzsche nieves nifty nigeria nigger nigh night nightfall nightly nightmare nightmares nights nighttime nike nikon nile nimble nimrod nineteen nineteenth nineties ninth nippon nirvana nist nitpick nitrate nitro nitrogen nitty nixon noah nobel nobis noble nobleman nobles nobody node nodes noel noise noises noisy noll nomad nome nominal nominate nominated nominating nomination nominations nominee nominees nonchalantly none nonfiction nonlinear nonprofit nonsense nonstop nontechnical noodle noodles nook noon noose nope nordic norfolk norm normal normalized normalizing normally norman normandy norms norse north northbound northeast northeastern northern northernmost northwest northwestern norway norwegian norwegians nose nosebleed noses nostalgia nostradamus nostrums nosy notable notables notation notch note notebook notebooks noted notes noteworthy nother nothing nothingness nothings notice noticeably noticed notices notification notified notify notifying noting notion notions notoriety notorious notre notwithstanding noun nouvelle nova novel novelists novels novelty november novice novices nowhere nozzle nozzles nuance nuances nuclear nuclei nucleus nude nudge nudity nuggets nuisance nuke nukes null nullify number numbered numbering numbers numbness numerals numeric numerical numerically numerology numerous nurse nursery nurses nursing nurture nutrient nutrients nutrition nutritional nutritionist nutritionists nuts nutshell nylon oakland oaks oasis oath oaths obedience oberon obesity obey obeys obfuscation obituary object objected objection objections objective objectively objectives objectivity objects obligate obligated obligation obligations oblige obliged oblivion oblivious obscene obscenities obscenity obscure obscured obscurity observance observances observation observations observatory observe observed observer observers observes observing obsessed obsession obsessions obsessive obsessively obstacle obstacles obstetric obstetrics obstruct obstructing obstruction obtain obtainable obtained obtaining obtains obvious obviously occasion occasional occasions occidental occult occupancy occupant occupants occupation occupational occupations occupied occupiers occupies occupy occupying occur occurred occurrence occurrences occurring occurs ocean oceanic oceanographic oceanography oceans octane octave october octopi octopus oddballs odder oddities oddity odds odell odin odometer odor odorless odyssey offend offended offender offenders offense offenses offensive offensively offer offered offering offerings offers office officer officers offices official officially officials officiating offing offs offset offsets offshoot offshoots offshore offspring often oftentimes ogre ohio oiler oilers oils oily ointment okay okayed okey oklahoma older oldest oldies olds oldsmobile olive oliver olivia olympia olympians olympic olympics olympus omaha ombudsman omega omelet omen omens omer ominous omission omissions omit omits omitted omitting omni omnibus omnipotence omnipotent omnipresent omnivorous onboard once oncology oncoming oneness ones ongoing onion onions online only onset onslaught ontario onto onus onward onyx oodles oomph oops opacity opal opec open opened opener openers opening openings openness opens opera operable operate operated operates operating operation operational operations operative operatives operator operators ophthalmology opinion opinions opium opossum opponent opponents opportunist opportunities opportunity oppose opposed opposes opposing opposite opposites opposition oppress oppression oppressor oppressors optic optical optics optima optimal optimism optimist optimistic optimistically optimization optimize optimum opting option optional optioned options optometry opulence opus oracle oral orally orange oranges oratory orbit orbital orbiter orbits orchard orchestra orchestrated orchid orchids ordain ordained ordaining ordeal order ordering orderly orders ordinance ordinances ordinary ordination oregon ores organ organic organisation organism organisms organization organizational organizations organize organized organizer organizers organizes organizing organs orgasm orgasms orient oriental orientated orientation orientations oriented origin original originality originally originals originate originated originating origination originator origins orioles orion orleans orly ornaments orphan orphanage orphanages orphaned orphans orthodox orthodoxy orthopedic orwell oscar oscillations oscillator oscillators oslo osprey ostensible ostensibly osteopathic osteoporosis ostracism ostriches oswego othello other others otherwise ottawa otter otto ottoman ouch ounce ounces ours ourself ourselves ousted ouster outbound outbreak outbreaks outbursts outcast outcome outcomes outcry outdated outdoor outdoors outer outfield outfielder outfielders outfit outfits outgoing outgrowth outgunned outhouse outing outlaw outlawing outlaws outlay outlays outlet outlets outline outlined outlines outlining outlook outlooks outlying outnumber outnumbered outpost outposts outpouring output outputs outrage outrageous outrageously outrages outreach outright outs outset outside outsider outsiders outskirts outstanding outstretched outward outwards outweigh outweighs oval ovation oven ovens overabundance overall overblown overboard overburdened overcast overcome overcomes overcoming overconfident overcrowding overdose overdrive overdue overeating overflow overhaul overhead overheads overheard overkill overlaid overland overlap overlapping overlay overlays overload overloaded overloading overloads overlook overlooked overlooking overnight overnighter overpass overpasses overpay overplay overrated overreact overreacted overreaction override overrides overriding overruling overrun overrunning overruns overseas oversee oversees overshadowed oversight oversimplify oversize overstated overstatement overstating overstepped overtake overtaxed overthrow overtime overtones overture overtures overturn overturned overturning overuse overview overwhelm overwhelmingly overworked overwrite ovum owed owes owing owls owned owner owners ownership owning owns oxen oxford oxidation oxide oxides oxygen oxymoron oyster ozone pablo pace paced pacemaker pacemakers paces pacesetter pacific pacifica pacifism pacifist pacifists pacing pack package packaged packages packaging packed packer packers packet packets packing packs pacs pact padded padding paddle paddles paddock padlock padres pads pagan paganism page pageant paged pager pagers pages paging paid pain paine painkillers painlessly pains paint paintbrush painted painter painting paintings paints pair paired pairing pairs pakistan palace palatable pale paleontology palestine palestinian palestinians palette palisades pallet pallets pallone palm palmer palms palpitations pals pampered pamphlet pamphlets panacea panache panama panamanian pancake pancreas pancreatic panda pandas pandora pane panel paneled panels pang panic panics panned panning pans pant pantheon panther panthers panties pantry pants pantyhose paolo papa papacy paper paperback paperbacks papers paperwork papua para parable parables parabolic parachute parachutes parade parades paradigm paradigms paradise paradox paradoxes paragon paragraph paragraphs parakeet parallel parallelism parallels paralysis paralyzed paramedic paramedics parameter parameters paramilitary paramount paranoia paranoid paraphernalia paraphrase parasite parasites parasitic parc parcel parchment pardon pardons pare parent parentage parentheses parenthesis parenthood parenting parents pariah paring paris parish parishes parishioners parity park parked parker parking parkinson parks parkway parlance parliament parlors parlour parodies parody parole paroles parr parrot parrots parry parse parsing parsons part parted parti partial partiality partially participant participants participate participated participates participating participation participatory particle particles particular particulars particulate parties parting partisan partisans partition partitioning partitions partly partner partners partnership partnerships parts party partying pasadena pascal paschal paseo pasha paso pass passage passages passed passenger passengers passer passers passersby passes passing passion passions passive passover passport passports password passwords past pasta paste pasted pasteur pastime pasting pastor pastoral pastors pasts pasture pastures patch patches patching patchwork patel patent patented patenting patently patents path pathetic pathetically pathfinder pathogen pathogens pathological pathologies pathologist pathology paths pathway pathways patience patient patients patio patriarchs patricia patrick patriot patriotic patriotism patriots patrol patrolman patrols patron patrons patsy pattern patterns patties patty paucity paul pauline pause pauses pavement paving pawn paws payable paycheck payer payers paying payload payloads payment payments payoff payroll pays peace peaceably peaceful peacekeepers peacekeeping peacemakers peacemaking peacetime peach peak peaked peaking peaks peanut peanuts pear pearl pearls peas peasant peasants pebble pebbles pecan peck peculiar pedal pedals peddling pedestrian pedestrians pediatric pediatrician pediatrics pedro peebles peek peeking peel peeled peeling peels peep peer peering peers pegasus pegs peking pell pellet pellets pelt pelted pelvis pembroke penal penalize penalizing penalties penalty penance pence penchant pencil pencils pending pendulum penetrate penetrated penetrating penetration peng penguin penguins penicillin peninsula penis penises pennant penney pennies pennsylvania penny penobscot pens pension pensions pentagon pentecost pentecostal penthouse peon people peoples pepper peppers pepsi peptide peptides perceive perceived percent percentage percentages percentile perception perceptions perch percussion perdue pereira peres perfect perfecting perfection perfectionist perfectly perforated perform performance performances performed performer performers performing performs perfume perfumes peril perilous perimeter period periodical periodically periodicals periods peripheral peripherals periphery perks perky permanent permanently permissible permission permissions permit permits permitted permitting permutation permutations perpetrating perpetrator perpetrators perpetual perpetuation perplexed perry persecution perseverance persevere persia persian persist persistence persistent persistently persisting persists person persona personable personal personalities personality personalize personalized personally personnel persons perspective perspectives persuade persuading persuasion pertaining pertains pertinent perturb perturbation perturbations peru perusal peruse pervasive perversion pervert perverts pesky pessimism pessimist pessimistic pessimists pest pesticide pesticides pests pete peter peters petersburg petersen petit petition petitions petri petro petrochemical petrol petroleum pets petty petulant peugeot pewter phalanx phantom pharaoh pharmaceutical pharmaceuticals pharmacies pharmacist pharmacists pharmacology pharmacy phase phased phases phenomena phenomenon phew phil philadelphia philanthropy philharmonic philip philippines philosopher philosophers philosophical philosophically philosophies philosophy phobia phobias phoenix phone phoned phones phonograph phony phosphate phosphorus photo photochemical photocopy photograph photographed photographer photographers photographing photographs photography photon photons photos photovoltaic phrase phraseology phrases phrasing phyllis physical physically physicals physician physicians physicist physicists physics physiology physique piano piazza pica picard picasso pick picked picker picket pickets picking pickings picks pickup pickups picky picnic picnics pico picture pictures piece pieces pierce piercing pierre piety pigeon pigeons piggy piggyback pigment pigs pike piker pile piled piles pilgrimage pilgrims piling pill pillage pillaging pillar pillow pillows pills pilot piloting pilots pima pimps pina pinball pinch pinched pinching pine pines ping pink pinks pinky pinnacle pinpoint pins pinstripes pint pints pioneer pioneering pioneers pious pipe pipeline pipelines piper pipes pique piracy pirate pirated pirates pirating pisa piss pissed pistol pistols piston pistons pitch pitcher pitchers pitches pitching pitfalls pitiful pits pittance pity pius pivot pivotal pixel pixels pixie pizza place placebo placed placement places placid placing plagiarism plague plagued plagues plain plains plaintiff plaintiffs plan planar plane planes planet planetarium planetary planets plank planned planner planners planning plans plant plantation planting plants plaque plaques plasma plaster plastic plastics plate plateau plated plates platform platforms platinum platitudes plato platonic platoon platter platters platypus plausibility plausible play playback playboy played player players playground playing playmate playmates playoff playoffs plays plaza plea plead pleading pleads pleas pleasant please pleased pleases pleasure pleasures pled pledge pledged pledges pledging pleiades plenary plenty plethora plexiglass plexus pliers plight plock plopped plot plots plotter plotters plotting plow ploy pluck plug plugged plugging plugs plum plumbers plumbing plume plunder plundering plunge plunged plunger plunk plural pluralism plurality plus pluses plush pluto plutonium plymouth plywood pneumatic pneumonia pocket pockets podge podium pods poem poems poet poetic poetry poets pogo pogroms point pointed pointer pointers pointing points poised poison poisoned poisoning poke poked poker pokes poland polar polaris polarity polarization polarized polaroid pole poles police policeman policemen policies policing policy polio polish polished polishing politburo polite politeness politic political politically politician politicians politics polity polk poll pollard polled polling polls pollsters pollutants pollute polluters polluting pollution polly polo poly polymer polymerase polynesian polypropylene polytechnic pomeroy pomona pompano pomposity poncho pond ponders ponds pong pont pontiac pontiff pony poodle poof pooh pool pooling pools poop poor poorly popcorn pope poplar popped popping pops popsicle populace popular popularity popularized populate populated population populations populist porch porcupine pore pork porn pornographic pornography porous port porta portability portable portal porter portfolio porting portion portions portland porto portrait portraits portrayals portraying portrays ports portugal portuguese pose posed poseidon poser poses posing posit position positioned positioning positions positive positively positives posse posses possess possessed possesses possessing possession possessions possessor possibilities possibility possible possibly possum post postage postal postcard postcards posted poster posterior posterity posters posting postings postman postmaster postpone postponed posts postscript postulates posture posturing potassium potato potatoes potent potential potentially potentials pothole potholes potomac pots potter pottery pouch pounce pound pounded pounding pounds pour poverty powder powders power powered powerful powerfully powerhouse powerhouses powering powerless powers pows practical practicality practice practiced practices practicing practitioner practitioners prado pragmatic pragmatism prague prairie prairies praise praised praises praising prank pranks prankster prawns praxis pray prayed prayer prayers praying prays preach preacher preachers preaching preamble precariously precaution precautionary precautions preceded precedence precedent precedents preceding precept precepts precinct precious precipice precipitate precipitation precise precision preclude precluded precludes precocious preconditions precursor precursors predate predated predator predators predatory predecessor predecessors predetermined predicament predicate predicated predict predictable predicted predicting prediction predictions predictive predictor predictors predicts predisposition predominance preeminence preeminent preempted preemption preen preexisting preface prefer preferable preferably prefered preference preferences preferential preferred prefers prefix pregnancies pregnancy pregnant prejudge prejudice prejudices preliminary prelude premature prematurely premier premiere premise premises premium premiums prentice preoccupation prep prepaid preparation preparations prepare prepared preparedness prepares preparing prepayment preponderance prerequisite prerogative pres presbyterian preschool prescient prescribed prescribing prescription prescriptions presence present presentation presentations presented presently presentment presents preservation preservatives preserve preserves preserving presidency president presidential presidents presiding presley press pressed presser presses pressing pressman pressure pressured pressures pressurized prestige prestigious presume presumed presuming presumption presumptions presupposition pretend pretenders pretending pretense pretext prettier pretty prevail prevailed prevailing prevails prevalence prevalent prevent preventative preventing prevention preventive prevents preview previews previous previously prevost prey priam price priced priceless prices pricey pricier pricing prick pride priest priesthood priestly priests prima primacy primal primarily primary primate primates prime primed primer primers primes primitive primo primordial primrose primus prince princes princess princeton principal principalities principally principals principe principia principle principled principles print printed printer printers printing printout printouts prints priorities prioritize priority prism prison prisoner prisoners prisons pristine privacy private privately privatization privatize privatizing privilege privileged privileges privy prix prize prized prizes prob probabilities probability probable probably probation probe probes probing problem problematic problems procedural procedure procedures proceed proceeding proceedings proceeds process processed processes processing procession processions processor processors proclaiming proclaims proclamation proclivities procrastination procreation proctor procurement procuring prod prodigy prods produce produced producer producers produces producing product production productions productive productivity products profane profanity profession professional professionalism professionally professionals professions professor professors proficiency proficient profile profiles profit profitability profitable profited profiteer profiting profits profoundly profs profusely progeny progesterone prognosis program programing programmable programme programmed programmer programmers programming programs progress progresses progressing progression progressive progressives prohibit prohibited prohibiting prohibition prohibitions prohibits project projected projectile projectiles projecting projection projections projector projectors projects proliferate proliferation prolong prolonged prom prominence prominently promiscuity promise promised promises promising promo promote promoted promoters promotes promoting promotion promotional promotions prompt prompting promptly prompts promulgate prong prongs pronoun pronounce pronounced pronouncements pronouns pronto pronunciation proof proofing proofreading proofs prop propaganda propagation propane propel propellant propellants propelled propelling propensity proper properly properties property prophecies prophecy prophet prophetic prophets prophylactic proponent proponents proportion proportional proportionate proportionately proportions proposal proposals propose proposes proposing proposition propositions proprietary proprietors propriety props propulsion pros prose prosecute prosecuting prosecution prosecutions prosecutor prosecutors proselytize prospect prospecting prospective prospector prospects prosper prosperity prosperous prostate prostitute prostitutes prostitution protagonist protagonists protect protected protecting protection protectionism protections protective protector protectors protects protege protein proteins protest protestant protestants protestations protested protester protesters protestors protests protocol protocols proton protons prototype prototypes protruding proud proudly provable prove proved proven proverb proverbs proves provide provided providence provider providers provides providing province provinces provincial proving provision provisional provisions proviso provocation provocations provoke provoked provokes provoking provost prowess proximity proxy prudence prudent prune prussia prussian psalm psalms pseudo pseudonym psoriasis psych psyche psychiatric psychiatrist psychiatry psychic psychics psycho psychological psychologist psychologists psychology psychopath psychotherapy psychotic pubic public publically publication publications publicity publicized publicly publish published publisher publishers publishes publishing pubs puck puddle puddles puerto puff puffy puget puke pulitzer pull pulled pulling pullman pullout pulls pulmonary pulp pulsar pulse pulses pulsing puma pump pumped pumping pumpkin pumps punch punched punches punching punctuation puncture pundits punish punished punishes punishing punishment punishments punitive punk punks puns punt punter punto puny pupils puppet puppies puppy purchase purchased purchaser purchasers purchases purchasing purdy pure purgatory purge purged purging purification purify purist purists purity purple purported purportedly purporting purpose purposes purse purses pursuant pursue pursued pursuing pursuit purview push pushed pusher pushers pushes pushing pushy pussy putrid puts putt putting putty putz puzzle puzzles puzzling pyramid pyramids python qatar quack quad quadra quadrant quadruple quads quai quake quaker quakers quakes qualification qualifications qualified qualifier qualifiers qualifies qualify qualifying qualities quality qualms quan quandary quantifiable quantified quantify quantitative quantities quantity quantum quarantine quark quarrel quarrels quarry quart quarter quarterback quarterly quarters quartet quarts quartz quasi queasy quebec queen queens queer quell quelled quench queries query quest question questionable questioned questioner questioning questionnaire questionnaires questions queue quibbling quiche quick quicken quickest quickie quickly quickness quicksilver quid quiet quilt quin quincy quintessential quintin quinton quip quirk quirks quist quit quite quits quitting quiver quiz quorum quota quotable quotas quotation quotations quote quoted quotes rabbi rabbis rabbit rabbits rabble rabid race raced racer racers races raceway racial racially racing racism racist rack racket racking racks radar radars radial radiance radiation radiator radiators radical radicalism radically radicals radio radioactive radioactivity radiologists radiology radios radishes radius raffle raffles rafters rafting rage rages raging rags raid raided raider raiders raiding raids rail railroad rails railway railways rain rainbow rainbows raincoat rainer raines rainfall rainier raining rains rainy raise raiser raises raisin raising raisins rake rakes rallies rally rallying ralph ramada ramble rambler rambling ramifications rammed ramp rampage rampant ramping ramps rams rana ranch rancher rancho rand randall random randomized randomly randomness randy rang range ranger rangers ranges rank ranked ranking rankings ranks ransom rant ranting rape rapes raphael rapid rapidity rapidly rapids raping rapist rapists rapture rare rarity rascal rash rata ratchet rate rated rates rather ratification ratified ratify rating ratings ratio ration rational rationale rationality rationalizations rationalizing rationing rations ratios rats rattle rattled rattles rattling ravaged ravages rave ravel raven ravens ravine rawhide raya rayed rays razed razor reach reachable reached reaches reaching reacquire react reacted reacting reaction reactions reactivated reactive reactor reactors reacts read readability readable reader readers readership readiness reading readings readjust readout reads ready reaffirm reaffirmation reaffirmed reaffirming reagan real realignment realistic realistically realities reality realization realize realized realizes realizing reallocated really realm realms realpolitik realty reamer reams reap reaped reaper reaping reappears rear reason reasonable reasonableness reasonably reasoning reasons reassessing reassignment reassurance reassure reassured rebate rebel rebellion rebels rebirth reborn rebound rebounds rebroadcast rebuffed rebuild rebuilding rebuilds rebuilt rebuke rebuking rebuttal rebuttals recalcitrant recall recalling recalls recant recanting recast recedes receipt receipts receive received receiver receivers receives receiving recently receptacle reception receptionist receptive receptor receptors recess recesses recession recharge rechargeable recharged recheck recipe recipes recipient recipients reciprocal reciprocating reciprocity recital reckless reckoning reclaim reclaimed reclassified reclining recognition recognize recognized recognizes recoil recollection recollections recommend recommendation recommendations recommended recommending recommends recon reconcile reconciliation reconciliations reconciling reconfigure reconfigured reconfirmed reconnaissance reconnect reconsider reconsideration reconstruct reconstructed reconstruction record recorded recorder recorders recording recordings records recount recoup recourse recover recoverable recovered recovery recreate recreation recreational recruit recruiting recruitment recruits rectal rectangle rectangles rectangular rectification rectifier rectify rectitude rectum recurrence recurring recycle recycled recycling redding reddish reddy redeem redeemable redeemed redeeming redefine redefined redefining redefinition redemption redesign redesigned redesigning redhead redirect redirected redirection rediscover redistribution redneck rednecks redo redone redrawing redrawn redress reds redskins reduce reduced reduces reducing reduction reductions redundancies redundancy redundant redwood redwoods reebok reed reeds reef reel reeled reels reenacted reenter reentry reese reestablish reevaluate reeve reeves reexamine reexamined refer referee reference referenced references referencing referenda referendum referral referred referring refers refiled refill refills refinance refined refinement refinements refining refit reflect reflected reflecting reflection reflections reflective reflects reflex reform reformation reformed reformer reformers reforming reforms refrain refresh refreshed refresher refreshes refreshing refrigerator refrigerators refuge refugee refugees refund refundable refunded refurbished refurbishment refusal refuse refused refuses refusing refutation refutes refuting regain regained regal regard regarded regarding regardless regards regency regenerate regenerating regeneration regent regents regime regimen regiment regimes regina region regional regions register registered registering registers registrar registration registrations registries registry regression regret regrets regrettable regular regularity regularly regulars regulate regulated regulates regulating regulation regulations regulator regulators regulatory rehabilitation rehash rehire rehiring reich reif reign reigning reigns reimburse rein reincarnation reindeer reinforce reinforced reinforcement reinforces reins reinstalled reinstate reinstated reinterpretation reinvent reinventing reissued reiter reiterate reiterated reiterates reject rejected rejecting rejection rejects rejoice rejoicing rejoinder rejuvenated relapse relate related relates relating relation relational relations relationship relationships relative relatively relatives relativistic relativity relax relaxation relaxed relaxing relay relays release released releases releasing relevance relevant reliability reliable reliance reliant relic relics relied relief relies relieve relieved reliever relievers relieves relieving religion religions religious relinquish relish reload reloaded relocate relocated relocation reluctance reluctantly rely relying remain remainder remained remaining remains remake remark remarkable remarkably remarks remedial remedies remedy remembered remembering remembers remembrance remind reminder reminders reminding reminds reminiscent remission remnant remnants remorse remote removable removal remove removed remover removes removing remus renaissance rename renamed renaming render rendered rendering renderings rendezvous renditions renegade renegades renegotiate renew renewable renewal renewals renewed renewing renner reno renoir renounce renounces renovation renowned rent rental renting rents reopened reopening reorganization reorganize reorganized repaint repainting repair repairable repaired repairing repairman repairs reparations repeal repealing repeat repeatable repeater repeating repeats repel repent repentance repercussions repertoire repetition repetitions repetitive replace replaceable replaced replacement replacements replaces replacing replay replayed replays replica replicate replicates replicating replication replied replies reply replying report reportable reported reportedly reporter reporters reporting reports repose repositioned repositories repository represent representation representations representative representatives represented representing represents repression reprimand reprimanded reprint reprints reprisal reprisals reproach reproduce reproduced reproduction reproductions reproductive reprogram reprogrammed reprogramming reps republic republican republicans republics repudiation repurchase reputable reputation reputations request requested requesting requests require required requirement requirements requires requiring requisite requisition reread reroute rerun resale reschedule rescheduled rescind rescue rescued research researched researcher researchers researches resell resellers resemblance resemble resembling resent resentment reservation reservations reserve reserved reserves reserving reservoir reset resets resettlement reshape reside residence residences residency resident residential residents residing residual residue residues resign resignation resignations resigned resilience resin resins resistance resistant resistors resists resolute resolution resolutions resolve resolved resolves resolving resonance resonant resonate resonating resort resorting resorts resounding resource resources respect respectability respectable respected respectfully respecting respective respectively respects respiration respiratory respite respond responded respondent respondents responder responding responds response responses responsibilities responsibility responsible responsibly responsive rest restart restarted restarting restate restatement restatements restating restaurant restaurants resting restitution restoration restore restored restores restoring restrained restraining restraint restraints restrict restricted restricting restriction restrictions restrictive restroom restructure restructured restructuring rests result resultant resulted resulting results resume resumed resumes resumption resupply resurgence resurrecting resurrection retail retailer retailers retails retain retained retaining retains retaliate retaliation retaliatory retard retardant retardation retarded retention rethink rethinking rethought retina retire retired retirement retires retiring retort retract retractable retracted retraction retracts retraining retreat retreats retribution retrieval retrieve retrieved retrieves retrieving retro retroactively retrofit retrofits retrospect retrospective return returned returning returns reunion reunions reunite reunited reuse reveal revealed revealing reveals revel revelation revelations revenge revenue revenues reverberate revere reverence reverend reversal reverse reversed reverses reversible reversing revert review reviewed reviewer reviewers reviewing reviews revise revised revision revisionism revisions revisit revisited revival revive revived reviving revocation revoke revoked revoking revolt revolts revolution revolutionaries revolutionary revolutions revolve revolver revolvers revs revved revving reward rewarded rewarding rewards rewind rewire rewiring rework rewrite rewriting rewritten rewrote reykjavik rhea rhetoric rhetorical rhine rhodes rhyme rhymes rhythm ribbon ribbons ribs rice rich richard richardson richer riches richest richly richmond richness richter rick rickey ricks riddance ridder riddle ride rider riders rides ridge ridges ridicule ridiculed riding ridley rife rifle rifles rift rigged rigging right righted righteousness rightfully rightly rightness rights righty rigidity rigor rigorous rigs riles riley rims rincon rind ring ringer ringing ringleaders rings rink rinks rinse riot rioters rioting riots ripe ripoff ripped ripper ripple ripples rips rise risen rises rising risk risking risks risky rita rite rites ritter ritual rituals rival rivalry rivals river riverbank riverboat riverfront rivers riverside riviera road roadblock roadblocks roadrunner roads roadside roadster roadway roam roaming roanoke roar roaring roast roasted robbed robber robbers robbery robbins robe robert roberts robes robin robins robinson robles robot robotic robotics robots robs robust robustness rochester rock rocked rocker rockers rocket rocketing rockets rockies rocking rocks rocky rode rodent rodents rodeo rodney rodriguez rods roger rogers rogue roland role roles roll rolled roller rollers rolling rollout rollover rolls roman romance romanian romano romans romantic rome romeo romero romp romulus ronald roof roofs rookie rookies room roomful roommate rooms roomy roosevelt rooster root rooted rooting roots rope ropes rosa rosary roscoe rose rosebud roses ross roster rosters rosy rotary rotate rotating rotation rotations rote rotisserie rotor rotors rotten rotterdam rotunda rouge roughing roughly roulette round rounding rounds roundup route routes routine routinely rover roving rowan rows royal royals royalties royalty rubbed rubber rubbing rubbish rubble rubin rubles rubric rubs ruby rudder rude ruff rugged rugs ruin ruined ruining ruins rule ruled ruler rulers rules ruling rulings rumble rumblings rumor rumors rumour rumours runaway rung runner runners running runny runs runway rupture ruptured ruptures rural ruse rush rushed rushes rushing ruskin russ russel russell russia russian russians rust rusty ruth rutherford ruts sabbath sabbatical saber sabin sabine sable sabotage sabotaged sabra sabre sack sacked sacks sacrament sacramento sacraments sacred sacrifice sacrificed sacrifices sacrificing sacrilege saddens saddest saddle saddled sadist sadness safe safeguard safeguarding safeguards safekeeping safely safer safest safety safeway saga sagan sage sager sages saguaro sahara said saigon sail sailboat sailing sailor sailors sails saint saintly saints sake sakes salad salami salaries salary sale salem sales salesman salesmanship salesmen salespeople salesperson salient saline salisbury saliva salle sally salmi salmon salome salomon salons saloon salt salty salute salvador salvage salvaged salvation samaritan samba sammy samoa sample sampler samples sampling samson samuel sanctification sanction sanctions sanctity sanctuaries sanctuary sanctum sand sandals sandbags sanders sandia sandman sandra sands sandwich sandy sane saner sang sanguine sanitary sanitation sanity sank sans sanskrit sant santa santiago santos sapiens sapphire saps sarah saratoga sarcasm sarcastically sarge saskatchewan saskatoon sass satan satanic satanism satellite satellites satire satisfaction satisfied satisfies satisfy saturation saturday saturn sauce saucer saucers sauces saudi saudis sauerkraut saul sault sauna saunders sausage sauter savage savagery savages save saved saver savers saves saving savings savior savoy sawed sawyer saxon saxons saxophone sayers saying sayings says scaffolding scala scalar scale scaled scales scaling scallop scallops scalp scalpel scalpers scalping scam scams scan scandal scandalous scandals scandinavia scandinavian scandinavians scanned scanner scanners scanning scans scant scapegoat scapegoats scar scarborough scarce scarcely scare scarecrow scared scares scarf scarier scarlet scarring scars scary scatter scattered scattering scavengers scenario scenarios scene scenery scenes scenic sceptre schedule scheduled scheduler schedulers schedules scheduling schematic scheme schemes scheming schilling schism schizophrenia schmuck schneider scholar scholarly scholars scholarship scholarships school schoolchildren schoolhouse schooling schools schoolteacher schoolyard schultz schwarz science sciences scientific scientist scientists scientology scion scissors sclerosis scoop scoops scoot scooter scope scopes scorch scorched score scoreboard scorecard scored scorer scorers scores scoring scorn scorned scorpion scorpions scot scotia scotland scots scott scottish scoundrel scoundrels scourge scout scouting scouts scrabble scramble scrambled scrambles scrambling scrap scrape scraped scraper scraping scrapping scraps scratch scratches scratching scream screaming screams screech screen screening screenplay screens screw screwdriver screwdrivers screwing screws screwy scribe scribes scrip script scripted scripts scripture scriptures scroll scrolls scrub scrubbers scrutinized scrutiny scuba scud scuffed sculpt sculptor sculpture scum scurry scuttle scuttlebutt seagull seagulls seal sealant sealed sealing seals seam seaman seamless seamlessly seams sear search searched searches searching sears seas season seasonal seasoned seasoning seasons seat seatbelt seated seating seats seattle seawater secession secluded second secondaries secondary seconded secondhand seconds secrecy secret secretariat secretaries secretary secretion secretive secretly secrets sect section sections sector sectors secure secured securely securing securities security sedan sedans sedentary seder sediments seduce seductive seed seeds seeing seek seeker seekers seely seem seemed seems seen seep seer sees segment segmentation segmented segments segregation seif seize seized seizure seizures select selected selecting selection selections selectivity selects selenium self selfishness sell seller sellers selling sellout sells seltzer selves semantic semantics semen semester semi semiconductor semiconductors semifinal semifinals seminal seminar seminaries seminars seminary semis semitic senate senator senators send sender senders sending sends seneca senegal senior seniority seniors sensation sensational sense senses sensibilities sensible sensibly sensing sensitive sensitivities sensitivity sensor sensors sensory sent sentence sentenced sentences sentencing sentiment sentimental sentiments sentinel sentry seoul separated separately separateness separates separating separation separations sept september sequel sequence sequences sequencing sequential sequentially sequester sequoia sera serb serbia serbian serendipity serene serfs serge sergeant sergeants serial series serious seriously seriousness sermon sermons serpent serrated serum servant servants served server servers serves service serviced servicemen services servicing serving servitude sesame session sessions setback seth sets setter setting settings settle settled settlement settlements settlers settles settling setup setups seventeen seventh seventies sever several severe severed severely severity seville sewage sewer sewers sewing sexes sexism sexton sexual sexuality sexually sexy shabby shack shackle shackles shade shaded shades shading shadow shadowed shadowing shadows shady shaft shafted shafts shah shake shakers shakes shakespeare shakier shaking shaky shale shall shallow shalom shalt sham shaman shambles shame shameless shamrock shank shape shapes shaping shards share shared shareholders shares sharif sharing shark sharks sharon sharp sharpen sharpening sharper sharpest sharply sharpness shatter shatters shave shaver shaving shaw shawn shea shear shearer sheath shed sheds sheen sheep sheer sheet sheets sheffield sheikh sheila shekels shelf shell shelled shelley shells shelly shelter sheltered shelters shelves shenanigans sheng shepherd shepherds sher sheraton sheriff sherlock sherry shield shielding shields shift shifted shifter shifting shifts shim shin shine shined shines shingles shining shiny ship shipman shipmates shipment shipments shipped shipping ships shipyard shipyards shirley shirt shirts shit shiva shiver shock shocked shocker shocking shocks shockwave shoe shoemaker shoes shook shoot shooter shooters shooting shootings shootout shoots shop shopper shoppers shopping shops shore shoreline shores short shortage shortcoming shortcomings shortcut shortcuts shorten shortened shortening shorter shortest shortfall shorthand shorting shortly shortness shorts shortsightedness shortstop shortwave shorty shot shotgun shotguns shots should shoulder shoulders shout shouting shouts shove shovel shovels show showboat showcase showcased showdown showed shower showered showers showing showings shown showroom showrooms shows showy shrapnel shred shredded shredder shreds shreveport shrewsbury shrieking shrimp shrine shrink shrinkage shrinking shrinks shrouded shrug shtick shuffle shuffling shun shunned shunt shunted shure shut shutdown shutdowns shuts shutter shutters shutting shuttle shuttles siam siamese siberia siberian sibling siblings sibyl sick sickest sickness side sided sidelined sider sides sidestep sidewalk sidewalks sideways sidewinder siding sidney siege siegfried siemens sierra sieve sift sifting sigh sight sighting sightings sights sightseeing sigma sign signal signaling signals signature signatures significance significant significantly signifies signing signs silence silenced silences silencing silent silicate silicon silicone silk sill silliest silliness silly silo silva silver silvers simeon similar similarities similarity similarly simmons simon simple simpler simplex simplicity simplified simplifies simplify simplifying simply simpson sims simulate simulated simulating simulation simulations simulator simulators simulcast simultaneously since sincere sincerely sincerity sinful sing singapore singed singer singh singing single singles singleton sings singular sinister sink sinker sinkhole sinking sinks sinned sinner sinners sinning sins sinus sinuses sips siren sissy sister sisters sitcoms site sited sites sits sitter sitting situated situation situational situations situs sixteenth sixth sixties size sizeable sized sizes sizing skate skateboard skated skater skates skating skeet skeleton skeletons skeptical skepticism skeptics sketch sketches sketchy skew skewed skewers skews skid skiers skies skiing skill skillful skills skim skin skinned skinner skinny skins skip skipper skipping skippy skips skirmishes skirt skis skull skunk skydive skylark skyline skyrocket skyrocketing skyscrapers slab slack slacks slag slain slalom slam slammed slamming slams slander slang slant slap slapped slapping slash slashed slashing slate slated slater slaughter slaughters slave slavery slaves slavic slavin slavs slayer slaying sleazy sled sledge sleek sleep sleeper sleeping sleepless sleepy sleeve sleeved sleeveless sleeves sleight slept slew slice sliced slices slicing slick slid slide slider slides sliding slight slightly slim slime slimy sling slingshot slinky slip slipper slippers slippery slipping slips slit slits sloan slob slobs slogan slogans slope slopes sloppier sloppiness sloppy slot sloth slots slouch slough slovak slow slowdown slowdowns slowed slowing slowly slowness slows sludge slug slugfest slugger slump slumped slumping slung slur slush slut smack smacked small smaller smallest smart smarter smartest smarts smash smashed smashing smattering smear smearing smears smell smelled smells smelly smile smiled smiles smiley smiling smith smithers smiths smog smoggy smoke smoked smokeless smoker smokers smokey smoking smoky smooth smoothing smoothly smoothness smothered smudge smugglers smuggling smugly smyrna smyth snack snag snags snail snails snake snakes snap snapping snaps snapshot snare snatch snazzy sneak sneaker sneakers sneaky sneer sneeze snell snider sniff sniffer snip sniper snob snoop snoopy snooze snort snot snow snowball snowing snows snowy snuff soaking soap soapbox soar soaring soars sober sobriety sobs soccer social socialism socialist socialists socialization socialized socially societies society sociologist sociology sock socket sockets socks socrates soda sodium sodom sodomy sofa sofia soft softball soften software soggy soho soil soils sojourn sola solar sold soldier soldiers sole soleil solely solemnity soles solicit solicitation soliciting solid solidarity solidity solidly solids solitaire solitary solo solomon solstice solution solutions solve solved solvent solvents solver solves somalia some somebody someday somehow someone someplace somerset something sometime sometimes somewhat somewhere sonar sonata song songs sonic sonics sonny sons soon sooner soot soothing sophia sophistication sophomore sordid sore sores sorority sorrow sorry sort sorted sorting sorts sought soul souls sound sounded sounder sounding soundness sounds soundtrack soup soups sour source sources soured south southeast southeastern southern southerners southward southwest southwestern souvenir souvenirs sovereign sovereigns sovereignty soviet soviets sowing sown soya space spacecraft spacer spaces spaceship spacing spacious spade spaghetti spain span spaniel spanish spank spanked spanking spanky spanner spanning spar spare spared spares spark sparked sparking sparkle sparkles sparkling sparks sparky sparrow sparta spartan spas spasm spasms spat spate spawn spawned speak speaker speakers speaking speaks spear spearhead spearing spearman spears spec special specialist specialists speciality specialize specialized specializing specially specials specialties specialty species specific specifically specification specifications specificity specifics specified specifies specify specifying specimen specimens speck specs spectacle spectacular spectator spectators specter spector spectra spectre spectrometer spectrum speculates speculating speculation speculations speculative speculators speech speeches speed speeding speedometer speeds speedway speedy speer spell spelled spelling spellings spells spence spencer spend spending spends spent sperm spews sphere spheres sphinx spice spices spicy spider spiderman spiegel spiers spies spigot spike spiked spikes spiking spill spilling spills spilt spin spina spinal spindle spine spinner spinning spinoff spinoffs spins spiral spiralling spires spirit spirits spiritual spirituality spiritually spiro spit spite spitting spitz splat splatter spleen splendor splice splinter split splits splitting splurged spoil spoiled spoiler spoils spokane spoke spoken spokes spokesman spokesmen spokesperson spokeswoman sponge sponsor sponsored sponsoring sponsors sponsorship spoof spoofing spooks spooky spool spoon sport sporting sports sportscaster sportsmen sportswriter sportswriters spot spotlight spots spotted spotting spotty spousal spouse spouses spout spouting spray sprayed spraying sprays spread spreading spreads spreadsheet spreadsheets spring springer springfield springs sprinkling sprint sprite sprocket sprout sprouts spruce spry spuds spun spur spurt sputnik spyglass spying squad squadron squads square squared squarely squares squash squashing squat squats squatters squeak squeaks squeaky squeal squeals squeeze squeezed squeezes squeezing squelch squid squires squirrel squirrels squirt stab stabbed stabbing stability stabilization stabilized stable stables stabs stack stacks stadium stadiums staff staffed staffer staffers stafford staffs stage stages staggering staggers staging stain stainless stains stairs stake stakes stalemate stalin stalker stalking stall stalled stalls stalwart stamp stamped stamping stamps stance stances stand standard standardization standardize standardized standards standby standing standings standoff standout standpoint stands stanford stanley stanza staple stapled star starboard starch stare stares staring stark starlight starr starring stars starship start started starter starters starting starts startup starvation starved starving stash stat state stated statehood statehouse statement statements states statesman statesmanship statesmen statewide static stating station stationary stationery stationing stations statistic statistical statistician statistics stats statue statues stature status statute statutes statutory staunch stave stay stayed staying stays stead steadily steady steak steaks steal stealing steals stealth steam steamer steaming steamroller steamship steed steel steele steelers steels steely steen steep steer steering steers stein stell stella stellar stem stemmed stemming stems sten stench stencil step stephane stephen stepped stepper stepping steps stereo stereos stereotype stereotypes stereotyping sterling stern steroids steve steven stew steward stewardess stewards stewardship stewart stick sticker stickers sticking stickler sticks sticky stiff stiffer stiffness stifle stigma still stillborn stillman stillness stills stillwater stimulate stimulated stimulation stimuli stimulus sting stings stingy stink stinking stinks stinky stint stipends stipulate stipulated stipulates stipulating stipulations stir stirling stirred stitch stitches stitching stock stocked stocker stockholders stockholm stocking stockings stockman stockpile stockpiles stockpiling stocks stole stolen stomach stomachs stomp stomping stone stoned stonehenge stoneman stones stonewalling stoney stoning stony stood stool stools stoop stop stopgap stoplight stopper stopping stops stopwatch storage store stored stores stories storing storm storms story storyteller stout stove stoves stow straddle straight straightforward straights strain strained straining strains strait straits strand stranded strands strange stranger strangers strangle stranglehold strangling strap straps strata strategic strategically strategies strategy stratosphere stratospheric stratus strauss straw strawberry straws stray strays streak streaks stream streamer streaming streamline streamlined streamlining streams street streetcar streets streit strength strengthen strengthened strengthening strengthens strengths strep stress stressed stresses stressful stretch stretched stretcher stretchers stretches stretching stricken strict stricter strictly stride strides strife strike striker strikes striking string stringent stringer strings strip stripe striped stripes stripped stripper stripping strips strive strives striving strobe stroke strokes stroll strolls strom strong stronger strongest stronghold strongly struck structural structurally structure structured structures structuring struggle struggles struggling strut struts stuart stub stubborn stubbornness stubs stuck stud student students studied studies studio studios studs study studying stuff stuffed stuffing stuffs stuffy stumble stumbling stump stumped stun stunning stunningly stunt stunts stupid stupidest stupidity stutter style styles styling stylish stylus stymied styrofoam styx subcommittee subcommittees subcompact subconscious subcontractor subcontractors subculture subdivide subdivided subdivision subdivisions subdue subgroups subject subjected subjectivity subjects sublease sublet sublime submarine submarines submerged submission submissions submit submits submitted submitting subordinate subordinates subpoena subs subscribe subscribed subscriber subscribers subscription subscriptions subsection subsequent subsequently subset subside subsidiaries subsidiary subsidies subsidization subsidized subsidy subsistence substance substances substantial substantially substantiation substantive substantively substitute substitutes substitution substitutions substrate subsystem subsystems subtext subtleties subtlety subtract subtracting subtraction suburb suburban suburbs subway succeed succeeding succeeds success successes successful successfully succession successor successors succumbing such suck sucked sucker suckered suckers sucking sucks suction sudan sudanese suddenly suds sued suede suffer suffered sufferer sufferers suffering sufferings suffers sufficiency sufficient sufficiently suffix suffocation suffolk sugar sugared suggest suggested suggesting suggestion suggestions suggestive suggests suicidal suicide suicides suing suisse suit suitability suitable suitcase suite suited suites suits sulfate sulfur sulk sultan summa summaries summarize summarized summarizes summary summation summed summer summers summertime summing summit summons sump sums sunbathing sunbeam sunburn sunburned sundae sunday sundays sundry sunflower sung sunglasses sunk sunlight sunni sunny sunrise sunroof suns sunscreen sunset sunshine sunspot suntan super superb supercomputer supercomputers superconducting superfluous superhighway superhighways superior superiority superiors superman supermarket supermarkets supernova superpower superseded supersedes supersonic superstar superstition supervise supervised supervises supervising supervision supervisor supervisors supervisory supper supplant supplement supplemental supplementary supplements supplied supplier suppliers supplies supply supplying support supported supporter supporters supporting supportive supports suppose supposed supposedly supposition suppositions suppress suppression supra supremacist supremacy supreme sura sure surest surf surface surfaces surfacing surfer surfers surfing surge surged surgeon surgeons surgery surges surgical surly surname surpass surpassed surpasses surplus surprise surprises surprising surprisingly surrender surrendered surrenders surreptitiously surrey surrogate surrogates surround surrounded surrounding surroundings surrounds surveillance survey surveyed surveying surveyor surveyors surveys survivability survival survive survives surviving survivor survivors susan susceptible sushi suspect suspected suspects suspend suspended suspending suspense suspension suspensions suspicion suspicions suspicious sussex sustain sustainable sustained sustaining sustenance sutter suzanne suzuki swain swallow swallowed swallowing swallows swam swami swamp swan swap swapping swaps sward swarm swarms swastika swat swatches swath swathe sway swaying swaziland swear swearing sweat sweater sweating swede sweden swedish sweep sweeper sweepers sweeping sweeps sweepstakes sweet sweetener sweeter sweetheart sweetie sweetness sweets swell swelling swift swim swimmer swimmers swimming swimsuit swindlers swine swing swings swirl swiss switch switched switches switching switzer switzerland swoon swoop sword swords sworn sydney sykes syllable sylvan sylvester sylvia symbol symbolic symbolism symbols symmetry sympathetic sympathies sympathy symphony symposium symptom symptoms synagogue synagogues sync synch synchro synchronize syndicate syndicated syndication syndrome syndromes synergy synonym synopsis syntax synthesis synthesize synthesized synthesizer synthetic synthetics syphilis syracuse syria syrian syringe system systematic systems tabernacle table tables tablespoons tablet tablets tabloid tabloids taboo tabs tacit tack tackle tackling tacks tacky taco tacoma tact tactic tactical tactics taft tagged tags tail tailed tailgate tailor tailored tails taint tainted taipei taiwan taiwanese take taken takeoff takeover taker takers takes taking tale talent talented talents tales talisman talk talked talkers talking talks tall tallest tally talmud talon talons tamara tame tammy tampa tampering tandem tang tangent tangentially tangerine tangled tango tank tanked tanker tankers tanking tanks tanner tanzania tape tapered tapes tapestry taping tapped tapping taps tara target targeted targeting targets tariffs tarnished taro tarot tartar task tasked tasking tasks tass taste tasted tastefully tasteless tastes tasting tasty tate tattered tatters taunt taunting taunts taurus taxation taxes taxi taxing taxis taxpayer taxpayers teacher teachers teaches teaching teachings teague teal team teaming teammate teammates teams teamwork teapot tear tears teas tease teaser teaspoon tech techie techies technical technicality technically technician technicians technics technique techniques technological technologically technologies technologist technology teddy tedious teem teen teenage teenaged teenager teenagers teens teeny teeth teflon tele telecast telecasts telecommunications telegram telegrams telegraph telemetry telepathy telephone telephones telephony teleport telescope telescopes telethon televise televised televising television televisions telex tell teller telling tells telly telos temerity temp tempe temper temperament temperature temperatures tempered tempers tempest template temple temples tempo temporal temporarily temporary temptation temptations tenacious tenacity tenancy tenant tenants tendencies tendency tender tendered tenderness tenders tending tendon tendons tends tenet tenets tenfold tennessee tennis tenor tens tension tensions tent tentative tentatively tenth tents tenuous tenure tepid tequila term terminal terminally terminals terminate terminated terminates terminating termination terminations terminator terming terminology termite termites terms terra terrace terraces terrain terrains terre terrible terrific terrified terrify territorial territories territory terror terrorism terrorist terrorists terry tertiary tesla test testament tested tester testers testicular testifies testify testimonial testimonies testimony testing testosterone tests tetanus tether texaco texans texas text textbook textbooks textiles texts texture textures thacker thailand thalidomide thank thankful thankfully thanking thanks thanksgiving thar that thatch thatcher thaw theater theatre theatres thee theft thefts their theirs them theme themes themselves then theodore theologian theologians theological theology theorem theoretical theoretically theoreticians theories theorist theorists theorizing theory therapeutic therapeutics therapies therapist therapy there therefore therein thereof thermal thermometer thermostat thesaurus these theses thesis theta thew they thick thickens thicker thickness thief thieves thigh thighs thin thine thing things think thinker thinkers thinking thinks thinner thins thiokol third thirdly thirds thirst thirsty thirteen thirteenth thirties thirty this thistle thomas thompson thon thor thorn thorns thorny thorough thoroughbred thoroughfare thoroughly thoroughness thou though thought thoughtful thoughtfully thoughtfulness thoughts thousand thousands thrash thrashing thread threading threads threat threaten threatened threatening threatens threats threshold thresholds threw thrifty thrill thrilled thriller thrilling thrills thriving throat throats throne throng throttle through throughput throw thrower throwers throwing thrown throws thru thrush thrust thrusters thud thug thugs thumb thumbnail thumbs thump thumping thunder thunderbird thunderstorm thursday thursdays thus thusly thwart thwarted thyme thyroid tiara tibet tibetan tice tick ticked ticket tickets ticking tickle tickled ticks tics tidal tidbit tidbits tide tides tidewater tidings tied tier tiered tiers ties tiff tiffany tiger tigers tight tighten tightening tightens tighter tightly tightness tightrope tile tiles till tiller tilt tilting tilts timber time timed timeless timely timeout timer timers times timetable timing timor timothy tinder ting tinker tinkered tinkering tint tiny tipoff tipped tips tirade tirades tire tiredness tires tissue tissues titan titania titanic titanium titans tithe title titles tittle toad toads toast toasted toaster tobacco toby today todays toenails toes toffee together toggle toil toilet toilets token tokens tokyo told toledo tolerance tolerances tolerant tolerate tolerates toleration toll tolls tolstoy tomahawk tomatoes tomb tombs tomcat tome tommy tomorrow toms tone toner tones tong tongs tongue tongues tonight toning tonnage tons tony took tool toolbox tools toon tooth toothbrush tootsie topaz topic topical topics topless topographic topography topped topple tops torah torch torches torching tore tories torment torn tornado tornadoes tornados toro toronto torpedo torpedoes torque torso torsos tort torture tortured torturing toru tory tosh toss tossed tosses tossing total totalitarianism totality totalling totally totals tote totem toting totten touch touchdown touche touched touches touching touchy tough toughen tougher toughest toughness tour toured touring tourism tourist tourists tournament tournaments tourney tours tout toward towards towel tower towers towing town towns townships townspeople toxic toxicity toxicologist toxin toxins toyed toyota toys trac trace traced traces track tracked trackers tracking tracks tract traction tractor tractors tracts trade traded trademark trademarks tradeoff trader traders trades trading tradition traditional traditionalists traditionally traditions traffic trafficker trafficking tragedy tragic trail trailblazer trailed trailer trailers trailing trails train trained trainee trainer trainers training trains trait traitor traitors traits trajectory trample trance tranche tranquil tranquility trans transact transaction transactions transatlantic transcend transcript transcription transcripts transducer transducers transfer transferable transferred transferring transfers transform transformation transformations transformed transformer transformers transforming transforms transfusion transfusions transgress transgression transgressions transistor transistors transit transition transitions translate translates translating translation translations translator translators translucent transmission transmissions transmit transmits transmitted transmitter transmitters transmitting transparencies transparency transparent transparently transpired transplant transplanted transplants transponder transport transportation transported transporter transporting transports trap trapped trapping trappings traps trash trashes trashing trauma traumatic travel traveled traveler travelers traveling travelled traveller travellers travels traverse travesty travis tray trays treachery tread treading treadmill treason treasure treasurer treasures treasury treat treated treaties treatise treatises treatment treatments treats treaty treble tree trees trek trembling tremendous tremor tremors trench trenches trend trends trenton trespass triad trial trials triangle triangles triangular triangulation tribal tribe tribes tribesmen tribulation tribunal tribunals tribune tribute trick trickery trickier tricking trickle trickles tricks tricky trident tried trier tries trifles trigger triggered triggers triglyceride triglycerides trillion trillions trilogy trim trimester trimmed trimmer trimming trimmings trinity trio trip tripe triple tripled triples triplet tripling tripod tripoli tripped tripping trips tritium triton triumph triumphant triumphs trivia trivial trojan troll trolling trombone tron troop trooper troopers troops trophies trophy tropical trot trots trotter trouble troubled troublemaker troublemakers troubles troublesome troubling trough trousers trout troy truce truck truckers trucking truckload truckloads trucks true truly truman trump trumpet trumpeted truncated trunk trunks truss trust trusted trusting trusts trustworthy trusty truth truthfully truthfulness truths trying tsar tuba tube tuberculosis tubes tubing tubs tubular tuck tucker tucson tudor tuesday tuesdays tuff tufts tugs tuition tulsa tumble tumbled tumor tumors tuna tune tuned tuner tunes tung tuning tunisia tunnel tunnels turban turbine turbines turbo turbulence turf turing turk turkey turkeys turkish turks turmoil turn turnaround turned turner turning turnip turnoff turnover turnpike turns turret turrets turtle turtles tutor tutorial tutorials tutoring tutu twain twang tweak tweaked tweaking tweaks tweed twelfth twenties twentieth twenty twice twilight twin twinge twinkle twins twist twisted twister twisting twists twisty tying tyke tyler type typefaces types typeset typesetting typewriter typewriters typhoid typhoon typical typically typing typist typo typography tyrannosaurus tyranny tyrant tyrants tyre ubiquitous uganda uglier ugliest ugly ukraine ulcer ulcers ulterior ultima ultimate ultimatum ultra ultrasonic ultrasound ultraviolet ulysses umbilical umbrage umbrella umbrellas umpire umpires unable unacceptable unaccounted unaffected unallocated unanimous unanimously unanswered unapproved unattended unattractive unauthorized unavailable unavoidable unaware unbalanced unbearable unbeatable unbeaten unbeknown unbelievable unbelievably unbelieving unbiased uncanny uncertain uncertainties uncertainty unchanged unchecked uncivilized unclassified uncle unclear uncles uncomfortable uncompromising unconditional unconfirmed unconscionable uncontrollable unconventional uncover uncovered uncovering undecided undeclared undefeated undeniably undercover undercut underdeveloped underdog underdogs underestimate underestimated underestimating undergo undergoes undergrad undergraduate undergraduates underground underline underlining underlying undermine undermined undermining underneath underpaid underpass underpinnings underrated underscore underscores underside understand understandable understanding understands understatement understood undertake undertaken undertakes undertaking undertones underwater underway underwear underwood underwriters undesirable undetermined undiscovered undisputed undo undocumented undoing undone undoubtedly undress undue uneasy unedited unemployment unequal unequivocally unexpected unexpectedly unexplained unfair unfairly unfamiliar unfavorable unfettered unfinished unfit unfolding unfolds unforeseen unforgettable unforgiven unfortunate unfortunately unfulfilled unhappiness unhappy unheard unholy unicef unicorn unidentified unification unified uniform uniformed uniformity uniformly uniforms unify unifying unilateral unilaterally unimaginable uninspiring uninsured unintended uninterrupted union unionist unionists unions unique uniquely unison unit unitarian unite united unites uniting units unity universal universally universe universes universities university unix unjust unknowingly unknown unknowns unlawful unleaded unleashed unless unlicensed unlike unlikely unlimited unlisted unload unloaded unloading unlock unlocking unlucky unmarried unmitigated unmoved unnamed unnecessary unneeded unnerving unnoticed unofficial unopened unpack unpaid unparalleled unpleasantness unplug unplugged unpopular unpopularity unprecedented unpredictable unpredictably unprepared unproductive unprofessional unprofitable unprotected unprovoked unpublished unqualified unravel unreachable unread unreal unrealistic unrealistically unreasonable unrecognized unrefined unregistered unregulated unrelated unrelenting unreliable unrepresentative unrest unrestricted unsafe unsanitary unsatisfactory unscathed unscramble unscrupulous unsecured unseen unsigned unskilled unsolicited unsolvable unsolved unsound unspeakable unspecified unspoiled unstable unsteady unstoppable unsubscribed unsubstantiated unsuccessful unsuitable unsullied unsung unsupervised unsure untainted untaxed unthinkable until unto untold untouchable untraceable untrue untruths unused unusual unusually unveiling unwanted unwarranted unwed unwillingness unworkable unwound unwritten unzip upbringing upcoming update updated updates updating upgrade upgraded upgrades upgrading upheavals upheld uphold upholding upholstery upon upper upright uprising uprisings uproar upset upsets upsetting upshot upside upstairs upstream uptight upward upwards uranium uranus urban urbana urge urgency urgent urgently urges urging urinary urine urologist urologists urology usable usage usages used useful usefulness useless usenet user users uses using usual usually usurpation usury utah utensils uterine utero uterus utilities utility utilization utilize utilized utilizes utilizing utmost utopia utterance utterances utterly vacant vacate vacation vacationers vacationing vacations vaccination vaccinations vaccine vaccines vacuum vacuums vagaries vagina vain valentine valet valhalla valiant valid validate validated validates validating validation validity valium valley valleys valor valuable valuables value valued values valuing valve valves vamp vampire vampires vancouver vandalism vandalizing vandals vanessa vanguard vanilla vanish vanished vanishing vanity vans vantage vapor vaporized vapors variability variable variables variance variances variant variants variation variations varied varies varieties variety various varsity vary vascular vase vasectomy vaseline vatican vats vault vaults veal vector vectors veep vega vegas vegetable vegetables vegetarian vegetarians vegetation vehemence vehemently vehicle vehicles vehicular veil veiled veils vein veins vela velcro velocity vendetta vending vendor vendors veneer venerable venetian vengeance vengeful venice venom venomous vent ventilation ventilator venting vents venture ventures venue venus vera veracity veranda verb verbal verdi verdict verdicts verge verifiable verification verified verifies verify verifying veritable verity vermont vernacular vernon veronica versa versailles versatile versatility verse versed verses version versions versus vert vertebrae vertex vertical vertically vertigo very vessel vessels vest vesta vested vestige vestiges vests veteran veterans veterinary veto vetoed vets viability viable vial vibrating vibration vibrations vicar vice vices vicinity vicious victim victimization victimize victimized victims victor victoria victories victorious victors victory video videocassette videos videotape videotaped videotapes vienna vietnam vietnamese view viewed viewer viewers viewing viewpoint viewpoints views vigil vigilant vigilante vigilantes vigor vigorous vigorously viking vikings vile vilification village villagers villages villain villains ville vincent vinci vindicated vindication vinegar vineland vines vineyard vintage vinyl viola violate violated violates violating violation violations violators violence violent violet violin viper viral virgin virginia virginity virgins virility virtual virtually virtue virtues virus viruses visa visas viscosity visibility visible visibly vision visionaries visionary visions visit visitation visited visiting visitor visitors visits visor vista visual visualization visually visuals vita vitae vital vitality vitally vitamin vitamins vitro viva vivid vocabulary vocal vocation vocational vodka vogt vogue voice voices void voiding voids voila volatile volcanic volcano volcanoes volga volition volkswagen volleyball volt volta voltage voltages voltaire volts volume volumes voluminous voluntarily voluntary volunteer volunteering volunteers voodoo vortex vote voted voter voters votes voting vouch voucher vouchers vowel vows voyage voyager voyagers voyages vulcan vulgar vulgarity vulnerabilities vulnerability vulnerable vulture wack wacker wacky wade wading wads waffle waffles wage waged wager wagers wages wagner wagon wagons wail wailing wainwright waist waists wait waiting waits waive waiver waivers wake waking wales walk walked walker walkers walking walks wall walla waller wallet wallets wallow wallpaper walls wally walnut walrus walsh walt walter waltz wand wandering wanders wands wang wanna want wanted wanting wantonly wants ward wardrobe wards ware warehouse wares warfare warhead warheads warlord warlords warm warmer warming warms warmth warmup warn warner warning warnings warns warp warped warrant warranted warranties warrants warranty warren warring warrior warriors wars warsaw warships wart wartime warts wash washed washer washers washing washington washy wasp waste wasted wasteland wastes wasting watch watchdog watched watcher watchers watches watchful watching watchman water waterfall watergate watering waterloo waterproof waters watersheds waterway waterways watson watt wattage watts wave wavelength wavelengths wavering waves waving waxes waxing waxy wayne ways wayside wayward weak weaken weakened weakening weaker weakly weakness weaknesses wealth wealthy weapon weaponry weapons wear wearer wearing wears weary weasel weather weathered weathering weatherman weave weaver weavers webber weber webs webster wedding weddings wedge wedged wedlock wednesday wednesdays weed weeds week weekday weekdays weekend weekends weekly weeks weeping weeps weevils weigh weighed weighing weighs weight weighted weighting weights weir weird weirdo welch welcome welcomed welcoming weld welded welder welding welfare well welling wellington wells welsh welt welter were werewolf wert wesley wesleyan west wester western westerner westerners westinghouse westminster westward whack whacked whale whaler whales whaling wharf what whatever whatnot whats whatsoever wheat wheel wheelchair wheeled wheeler wheelers wheeling wheels wheezing whenever where whereabouts whereas whereby whereupon wherever wherewithal whether whew whichever whiff while whilst whim whims whine whiner whiners whining whiny whip whiplash whipped whipping whips whirlwind whirring whiskey whisper whispered whispering whispers whistle whistler whistles whit white whitehead whiten whites whitewash whitey whiting whitman whitney whiz whoa whoever whole wholeness wholesale wholesaler wholly whom whomever whoops whopping whore whores whose whys wich wichita wick wicked wickedness wicks wide widely widener widening wider widespread widget widgets widow widows width widths wielded wielding wiener wife wiggle wight wild wildcat wildcats wilder wilderness wildest wildlife wiles wilk will willey willful willi william williams willie willing willingness willow wills willy wilson wilt wily wince winch winchester wind windfall winding windmills window windows winds windshield windsor windward windy wine wing wingate winger wings wink winner winners winning winnipeg wins winslow winter winters wiper wipers wipes wiping wire wired wireless wires wiretap wiretapping wiretaps wiring wisconsin wisdom wise wiser wish wishes wishful wishing wishy witch witchcraft witches with withdraw withdrawal withdrawing withdrawn withdraws withdrew wither withering withers withheld withholding within without withstand withstood witless witness witnessed witnesses wits witty wives wizard wizardry wizards wobble woes woke wolf wolfram wolverine wolves woman womb women wonder wondered wonderful wondering wonderland wonders wong wont wood woodbury woodman woodpecker woodruff woods woodward woodwork woodworking woody wool worcester word wording wordperfect words wore work workable workbench workday worked worker workers working workings workload workman workmanship workplace works workshop workshops workstation workstations world worldly worlds worldwide worm worms worn worried worries worrisome worry worrying worse worsen worsened worsening worship worshipped worships worst worth worthiness worthwhile worthy would wound wounded wounding wounds woven wrangler wranglers wrap wrapped wrapper wrappers wrapping wraps wrath wray wreak wreaks wreck wreckage wrecking wrecks wren wrench wrenches wrestle wrestled wrestlers wrestling wriggle wright wrights wrigley wrinkle wrinkles wrist wrists wristwatch writ write writer writers writes writing writings written wrong wrongdoing wrongful wrongly wrongs wrought wynn wyoming xenon xenophobia xerox yachts yahoos yahweh yale yang yangtze yank yanked yankee yankees yanks yard yards yarn yawn yawned yeah year yearly yearning years yeast yell yelling yellow yellowish yellows yemen yesterday yield yielded yielding yields yoga yogi yogurt yoke yokohama yonkers yore york yorker young younger youngster youngsters your yours yourself yourselves youth youthful youths yoyo yuan yuck yucky yugoslav yugoslavia yuppie zack zaire zambia zander zapped zapping zeal zealand zealot zealotry zealots zenith zeppelin zero zeroes zeros zeta zeus ziff zilch zillion zillions zinc zing zion zionist zipped zipper zippers zipping zippy zombie zone zones zoning zoology zoom zooming zorro zulu zuni zurichsifter.js-0.5.3/benchmark/index.js000066400000000000000000000162451321014527000170300ustar00rootroot00000000000000/** * sifter.js Benchmark * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. * * @author Brian Reavis */ process.chdir(__dirname); var fs = require('fs'); var humanize = require('humanize'); var Sifter = require('../lib/sifter'); var microtime; try { microtime = require('microtime'); } catch(error) { microtime = { now: function now() { return +new Date(); } }; } var measure_time = function(fn) { var start, end; global.gc(); start = microtime.now(); fn(); end = microtime.now(); global.gc(); return end - start; }; var time_baseline = measure_time(function() { var i, x; for (i = 0; i < 10000000; i++) { x = Math.sin(i * Math.PI); } }); // create corpus (search set) var corpus = (function() { var lines, i, n, items; lines = fs.readFileSync('corpus.csv', 'utf8').split('\n'); lines.shift(); items = []; for (i = 0, n = Math.floor(lines.length / 5); i < n; i++) { items.push({ a: lines[i*5], b: lines[i*5+1], c: lines[i*5+2], d: lines[i*5+3], e: lines[i*5+4], index: i }); } return items; })(); // run trials // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - var path_report = 'report.json'; var searches_limit = 128; var searches_mixed = fs.readFileSync('searches_mixed.txt', 'utf8').split('\n').slice(0, searches_limit); var searches_1letter = fs.readFileSync('searches_1letter.txt', 'utf8').split('\n').slice(0, searches_limit); var searches_2letter = fs.readFileSync('searches_2letter.txt', 'utf8').split('\n').slice(0, searches_limit); var searches_3letter = fs.readFileSync('searches_3letter.txt', 'utf8').split('\n').slice(0, searches_limit); var reports_old = {}; var reports_new = {}; try { reports_old = JSON.parse(fs.readFileSync(path_report, 'utf8')); } catch (e) {} var timed_report = function(title, fn) { var t_new = measure_time(fn); var t_old = reports_old[title]; var t_delta = t_new - t_old; var p_delta = Math.round(t_delta / t_old * 100, 1); reports_new[title] = t_new; process.stdout.write('\033[1;39m' + humanize.numberFormat(t_new / 1000) + ' ms\033[0;39m \033[1;30m(score: ' + (t_new / time_baseline).toFixed(6) + ')\033[0;39m '); if (t_old) { process.stdout.write('\t' + (Math.abs(p_delta) < 5 ? '\033[1;30m' : (t_delta > 0 ? '\033[31m' : '\033[32m'))); process.stdout.write((t_delta > 0 ? '-' : '+') + Math.abs(p_delta) + '% (' + (t_delta > 0 ? '+' : '') + humanize.numberFormat(Math.round(t_delta / 1000), 0) + 'ms)'); process.stdout.write('\033[0;39m'); } process.stdout.write('\t' + title); process.stdout.write('\n'); }; var trial = function(title, searches, options) { timed_report(title, function() { var sifter = new Sifter(corpus); for (var i = 0, n = searches_limit; i < n; i++) { sifter.search(options.query || searches[i % searches.length], options.options); } }); }; console.log('sifter.js Benchmark'); console.log('\033[1;30m' + humanize.numberFormat(searches_limit, 0) + ' trials (searches)\033[0;39m'); console.log('\033[1;30m' + humanize.numberFormat(corpus.length, 0) + ' options (index size)\033[0;39m'); console.log('\n\033[32mResults:\033[0;39m'); trial('No query', searches_mixed, {query: '', options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc'}}); console.log(''); trial('1 field search', searches_mixed, {options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc'}}); trial('1 field search (1 letter)', searches_1letter, {options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc'}}); trial('1 field search (2 letter)', searches_2letter, {options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc'}}); trial('1 field search (3 letter)', searches_3letter, {options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc'}}); trial('1 field search (limit 100)', searches_mixed, {options: {fields: ['a'], sort: [{field: 'a'}], direction: 'asc', limit: 100}}); console.log(''); trial('2 field search', searches_mixed, {options: {fields: ['a','b'], sort: [{field: 'a'}], direction: 'asc'}}); trial('2 field search (1 letter)', searches_1letter, {options: {fields: ['a','b'], sort: [{field: 'a'}], direction: 'asc'}}); trial('2 field search (2 letter)', searches_2letter, {options: {fields: ['a','b'], sort: [{field: 'a'}], direction: 'asc'}}); trial('2 field search (3 letter)', searches_3letter, {options: {fields: ['a','b'], sort: [{field: 'a'}], direction: 'asc'}}); trial('2 field search (limit 100)', searches_mixed, {options: {fields: ['a','b'], sort: [{field: 'a'}], direction: 'asc', limit: 100}}); console.log(''); trial('3 field search', searches_mixed, {options: {fields: ['a','b','c'], sort: [{field: 'a'}], direction: 'asc'}}); trial('3 field search (1 letter)', searches_1letter, {options: {fields: ['a','b','c'], sort: [{field: 'a'}], direction: 'asc'}}); trial('3 field search (2 letter)', searches_2letter, {options: {fields: ['a','b','c'], sort: [{field: 'a'}], direction: 'asc'}}); trial('3 field search (3 letter)', searches_3letter, {options: {fields: ['a','b','c'], sort: [{field: 'a'}], direction: 'asc'}}); trial('3 field search (limit 100)', searches_mixed, {options: {fields: ['a','b','c'], sort: [{field: 'a'}], direction: 'asc', limit: 100}}); console.log(''); trial('4 field search', searches_mixed, {options: {fields: ['a','b','c','d'], sort: [{field: 'a'}], direction: 'asc'}}); trial('4 field search (limit 100)', searches_mixed, {options: {fields: ['a','b','c','d'], sort: [{field: 'a'}], direction: 'asc', limit: 100}}); trial('4 field search (1 letter)', searches_1letter, {options: {fields: ['a','b','c','d'], sort: [{field: 'a'}], direction: 'asc'}}); trial('4 field search (2 letter)', searches_2letter, {options: {fields: ['a','b','c','d'], sort: [{field: 'a'}], direction: 'asc'}}); trial('4 field search (3 letter)', searches_3letter, {options: {fields: ['a','b','c','d'], sort: [{field: 'a'}], direction: 'asc'}}); console.log(''); trial('5 field search', searches_mixed, {options: {fields: ['a','b','c','d','e'], sort: [{field: 'a'}], direction: 'asc'}}); trial('5 field search (1 letter)', searches_1letter, {options: {fields: ['a','b','c','d','e'], sort: [{field: 'a'}], direction: 'asc'}}); trial('5 field search (2 letter)', searches_2letter, {options: {fields: ['a','b','c','d','e'], sort: [{field: 'a'}], direction: 'asc'}}); trial('5 field search (3 letter)', searches_3letter, {options: {fields: ['a','b','c','d','e'], sort: [{field: 'a'}], direction: 'asc'}}); trial('5 field search (limit 100)', searches_mixed, {options: {fields: ['a','b','c','d','e'], sort: [{field: 'a'}], direction: 'asc', limit: 100}}); if (process.argv.indexOf('--no-save') === -1) { fs.writeFileSync(path_report, JSON.stringify(reports_new), 'utf8'); console.log('\nReport written to ' + path_report); }sifter.js-0.5.3/benchmark/searches.js000066400000000000000000000020401321014527000175020ustar00rootroot00000000000000var fs = require('fs'); var generate_searches = function(length, strict, limit) { var letters = 'abcdefghijklmnopqrstuvwxyz'; var combinations = []; var branch = function(base, level) { if (level === length) return; for (var i = 0, n = letters.length; i < n; i++) { if (combinations.length === limit) { return; } if (!strict || level === length - 1) { combinations.push(base + letters[i]); } branch(base + letters[i], level + 1); } }; branch('', 0); return combinations.join('\n'); }; process.chdir(__dirname); fs.writeFileSync('searches_mixed.txt', generate_searches(3, false, 10000), 'utf8'); fs.writeFileSync('searches_1letter.txt', generate_searches(1, true, 10000), 'utf8'); fs.writeFileSync('searches_2letter.txt', generate_searches(2, true, 10000), 'utf8'); fs.writeFileSync('searches_3letter.txt', generate_searches(3, true, 10000), 'utf8'); fs.writeFileSync('searches_4letter.txt', generate_searches(4, true, 10000), 'utf8'); fs.writeFileSync('searches_5letter.txt', generate_searches(5, true, 10000), 'utf8');sifter.js-0.5.3/benchmark/searches_1letter.txt000066400000000000000000000000631321014527000213500ustar00rootroot00000000000000a b c d e f g h i j k l m n o p q r s t u v w x y zsifter.js-0.5.3/benchmark/searches_2letter.txt000066400000000000000000000037531321014527000213620ustar00rootroot00000000000000aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zzsifter.js-0.5.3/benchmark/searches_3letter.txt000066400000000000000000001160771321014527000213670ustar00rootroot00000000000000aaa aab aac aad aae aaf aag aah aai aaj aak aal aam aan aao aap aaq aar aas aat aau aav aaw aax aay aaz aba abb abc abd abe abf abg abh abi abj abk abl abm abn abo abp abq abr abs abt abu abv abw abx aby abz aca acb acc acd ace acf acg ach aci acj ack acl acm acn aco acp acq acr acs act acu acv acw acx acy acz ada adb adc add ade adf adg adh adi adj adk adl adm adn ado adp adq adr ads adt adu adv adw adx ady adz aea aeb aec aed aee aef aeg aeh aei aej aek ael aem aen aeo aep aeq aer aes aet aeu aev aew aex aey aez afa afb afc afd afe aff afg afh afi afj afk afl afm afn afo afp afq afr afs aft afu afv afw afx afy afz aga agb agc agd age agf agg agh agi agj agk agl agm agn ago agp agq agr ags agt agu agv agw agx agy agz aha ahb ahc ahd ahe ahf ahg ahh ahi ahj ahk ahl ahm ahn aho ahp ahq ahr ahs aht ahu ahv ahw ahx ahy ahz aia aib aic aid aie aif aig aih aii aij aik ail aim ain aio aip aiq air ais ait aiu aiv aiw aix aiy aiz aja ajb ajc ajd aje ajf ajg ajh aji ajj ajk ajl ajm ajn ajo ajp ajq ajr ajs ajt aju ajv ajw ajx ajy ajz aka akb akc akd ake akf akg akh aki akj akk akl akm akn ako akp akq akr aks akt aku akv akw akx aky akz ala alb alc ald ale alf alg alh ali alj alk all alm aln alo alp alq alr als alt alu alv alw alx aly alz ama amb amc amd ame amf amg amh ami amj amk aml amm amn amo amp amq amr ams amt amu amv amw amx amy amz ana anb anc and ane anf ang anh ani anj ank anl anm ann ano anp anq anr ans ant anu anv anw anx any anz aoa aob aoc aod aoe aof aog aoh aoi aoj aok aol aom aon aoo aop aoq aor aos aot aou aov aow aox aoy aoz apa apb apc apd ape apf apg aph api apj apk apl apm apn apo app apq apr aps apt apu apv apw apx apy apz aqa aqb aqc aqd aqe aqf aqg aqh aqi aqj aqk aql aqm aqn aqo aqp aqq aqr aqs aqt aqu aqv aqw aqx aqy aqz ara arb arc ard are arf arg arh ari arj ark arl arm arn aro arp arq arr ars art aru arv arw arx ary arz asa asb asc asd ase asf asg ash asi asj ask asl asm asn aso asp asq asr ass ast asu asv asw asx asy asz ata atb atc atd ate atf atg ath ati atj atk atl atm atn ato atp atq atr ats att atu atv atw atx aty atz aua aub auc aud aue auf aug auh aui auj auk aul aum aun auo aup auq aur aus aut auu auv auw aux auy auz ava avb avc avd ave avf avg avh avi avj avk avl avm avn avo avp avq avr avs avt avu avv avw avx avy avz awa awb awc awd awe awf awg awh awi awj awk awl awm awn awo awp awq awr aws awt awu awv aww awx awy awz axa axb axc axd axe axf axg axh axi axj axk axl axm axn axo axp axq axr axs axt axu axv axw axx axy axz aya ayb ayc ayd aye ayf ayg ayh ayi ayj ayk ayl aym ayn ayo ayp ayq ayr ays ayt ayu ayv ayw ayx ayy ayz aza azb azc azd aze azf azg azh azi azj azk azl azm azn azo azp azq azr azs azt azu azv azw azx azy azz baa bab bac bad bae baf bag bah bai baj bak bal bam ban bao bap baq bar bas bat bau bav baw bax bay baz bba bbb bbc bbd bbe bbf bbg bbh bbi bbj bbk bbl bbm bbn bbo bbp bbq bbr bbs bbt bbu bbv bbw bbx bby bbz bca bcb bcc bcd bce bcf bcg bch bci bcj bck bcl bcm bcn bco bcp bcq bcr bcs bct bcu bcv bcw bcx bcy bcz bda bdb bdc bdd bde bdf bdg bdh bdi bdj bdk bdl bdm bdn bdo bdp bdq bdr bds bdt bdu bdv bdw bdx bdy bdz bea beb bec bed bee bef beg beh bei bej bek bel bem ben beo bep beq ber bes bet beu bev bew bex bey bez bfa bfb bfc bfd bfe bff bfg bfh bfi bfj bfk bfl bfm bfn bfo bfp bfq bfr bfs bft bfu bfv bfw bfx bfy bfz bga bgb bgc bgd bge bgf bgg bgh bgi bgj bgk bgl bgm bgn bgo bgp bgq bgr bgs bgt bgu bgv bgw bgx bgy bgz bha bhb bhc bhd bhe bhf bhg bhh bhi bhj bhk bhl bhm bhn bho bhp bhq bhr bhs bht bhu bhv bhw bhx bhy bhz bia bib bic bid bie bif big bih bii bij bik bil bim bin bio bip biq bir bis bit biu biv biw bix biy biz bja bjb bjc bjd bje bjf bjg bjh bji bjj bjk bjl bjm bjn bjo bjp bjq bjr bjs bjt bju bjv bjw bjx bjy bjz bka bkb bkc bkd bke bkf bkg bkh bki bkj bkk bkl bkm bkn bko bkp bkq bkr bks bkt bku bkv bkw bkx bky bkz bla blb blc bld ble blf blg blh bli blj blk bll blm bln blo blp blq blr bls blt blu blv blw blx bly blz bma bmb bmc bmd bme bmf bmg bmh bmi bmj bmk bml bmm bmn bmo bmp bmq bmr bms bmt bmu bmv bmw bmx bmy bmz bna bnb bnc bnd bne bnf bng bnh bni bnj bnk bnl bnm bnn bno bnp bnq bnr bns bnt bnu bnv bnw bnx bny bnz boa bob boc bod boe bof bog boh boi boj bok bol bom bon boo bop boq bor bos bot bou bov bow box boy boz bpa bpb bpc bpd bpe bpf bpg bph bpi bpj bpk bpl bpm bpn bpo bpp bpq bpr bps bpt bpu bpv bpw bpx bpy bpz bqa bqb bqc bqd bqe bqf bqg bqh bqi bqj bqk bql bqm bqn bqo bqp bqq bqr bqs bqt bqu bqv bqw bqx bqy bqz bra brb brc brd bre brf brg brh bri brj brk brl brm brn bro brp brq brr brs brt bru brv brw brx bry brz bsa bsb bsc bsd bse bsf bsg bsh bsi bsj bsk bsl bsm bsn bso bsp bsq bsr bss bst bsu bsv bsw bsx bsy bsz bta btb btc btd bte btf btg bth bti btj btk btl btm btn bto btp btq btr bts btt btu btv btw btx bty btz bua bub buc bud bue buf bug buh bui buj buk bul bum bun buo bup buq bur bus but buu buv buw bux buy buz bva bvb bvc bvd bve bvf bvg bvh bvi bvj bvk bvl bvm bvn bvo bvp bvq bvr bvs bvt bvu bvv bvw bvx bvy bvz bwa bwb bwc bwd bwe bwf bwg bwh bwi bwj bwk bwl bwm bwn bwo bwp bwq bwr bws bwt bwu bwv bww bwx bwy bwz bxa bxb bxc bxd bxe bxf bxg bxh bxi bxj bxk bxl bxm bxn bxo bxp bxq bxr bxs bxt bxu bxv bxw bxx bxy bxz bya byb byc byd bye byf byg byh byi byj byk byl bym byn byo byp byq byr bys byt byu byv byw byx byy byz bza bzb bzc bzd bze bzf bzg bzh bzi bzj bzk bzl bzm bzn bzo bzp bzq bzr bzs bzt bzu bzv bzw bzx bzy bzz caa cab cac cad cae caf cag cah cai caj cak cal cam can cao cap caq car cas cat cau cav caw cax cay caz cba cbb cbc cbd cbe cbf cbg cbh cbi cbj cbk cbl cbm cbn cbo cbp cbq cbr cbs cbt cbu cbv cbw cbx cby cbz cca ccb ccc ccd cce ccf ccg cch cci ccj cck ccl ccm ccn cco ccp ccq ccr ccs cct ccu ccv ccw ccx ccy ccz cda cdb cdc cdd cde cdf cdg cdh cdi cdj cdk cdl cdm cdn cdo cdp cdq cdr cds cdt cdu cdv cdw cdx cdy cdz cea ceb cec ced cee cef ceg ceh cei cej cek cel cem cen ceo cep ceq cer ces cet ceu cev cew cex cey cez cfa cfb cfc cfd cfe cff cfg cfh cfi cfj cfk cfl cfm cfn cfo cfp cfq cfr cfs cft cfu cfv cfw cfx cfy cfz cga cgb cgc cgd cge cgf cgg cgh cgi cgj cgk cgl cgm cgn cgo cgp cgq cgr cgs cgt cgu cgv cgw cgx cgy cgz cha chb chc chd che chf chg chh chi chj chk chl chm chn cho chp chq chr chs cht chu chv chw chx chy chz cia cib cic cid cie cif cig cih cii cij cik cil cim cin cio cip ciq cir cis cit ciu civ ciw cix ciy ciz cja cjb cjc cjd cje cjf cjg cjh cji cjj cjk cjl cjm cjn cjo cjp cjq cjr cjs cjt cju cjv cjw cjx cjy cjz cka ckb ckc ckd cke ckf ckg ckh cki ckj ckk ckl ckm ckn cko ckp ckq ckr cks ckt cku ckv ckw ckx cky ckz cla clb clc cld cle clf clg clh cli clj clk cll clm cln clo clp clq clr cls clt clu clv clw clx cly clz cma cmb cmc cmd cme cmf cmg cmh cmi cmj cmk cml cmm cmn cmo cmp cmq cmr cms cmt cmu cmv cmw cmx cmy cmz cna cnb cnc cnd cne cnf cng cnh cni cnj cnk cnl cnm cnn cno cnp cnq cnr cns cnt cnu cnv cnw cnx cny cnz coa cob coc cod coe cof cog coh coi coj cok col com con coo cop coq cor cos cot cou cov cow cox coy coz cpa cpb cpc cpd cpe cpf cpg cph cpi cpj cpk cpl cpm cpn cpo cpp cpq cpr cps cpt cpu cpv cpw cpx cpy cpz cqa cqb cqc cqd cqe cqf cqg cqh cqi cqj cqk cql cqm cqn cqo cqp cqq cqr cqs cqt cqu cqv cqw cqx cqy cqz cra crb crc crd cre crf crg crh cri crj crk crl crm crn cro crp crq crr crs crt cru crv crw crx cry crz csa csb csc csd cse csf csg csh csi csj csk csl csm csn cso csp csq csr css cst csu csv csw csx csy csz cta ctb ctc ctd cte ctf ctg cth cti ctj ctk ctl ctm ctn cto ctp ctq ctr cts ctt ctu ctv ctw ctx cty ctz cua cub cuc cud cue cuf cug cuh cui cuj cuk cul cum cun cuo cup cuq cur cus cut cuu cuv cuw cux cuy cuz cva cvb cvc cvd cve cvf cvg cvh cvi cvj cvk cvl cvm cvn cvo cvp cvq cvr cvs cvt cvu cvv cvw cvx cvy cvz cwa cwb cwc cwd cwe cwf cwg cwh cwi cwj cwk cwl cwm cwn cwo cwp cwq cwr cws cwt cwu cwv cww cwx cwy cwz cxa cxb cxc cxd cxe cxf cxg cxh cxi cxj cxk cxl cxm cxn cxo cxp cxq cxr cxs cxt cxu cxv cxw cxx cxy cxz cya cyb cyc cyd cye cyf cyg cyh cyi cyj cyk cyl cym cyn cyo cyp cyq cyr cys cyt cyu cyv cyw cyx cyy cyz cza czb czc czd cze czf czg czh czi czj czk czl czm czn czo czp czq czr czs czt czu czv czw czx czy czz daa dab dac dad dae daf dag dah dai daj dak dal dam dan dao dap daq dar das dat dau dav daw dax day daz dba dbb dbc dbd dbe dbf dbg dbh dbi dbj dbk dbl dbm dbn dbo dbp dbq dbr dbs dbt dbu dbv dbw dbx dby dbz dca dcb dcc dcd dce dcf dcg dch dci dcj dck dcl dcm dcn dco dcp dcq dcr dcs dct dcu dcv dcw dcx dcy dcz dda ddb ddc ddd dde ddf ddg ddh ddi ddj ddk ddl ddm ddn ddo ddp ddq ddr dds ddt ddu ddv ddw ddx ddy ddz dea deb dec ded dee def deg deh dei dej dek del dem den deo dep deq der des det deu dev dew dex dey dez dfa dfb dfc dfd dfe dff dfg dfh dfi dfj dfk dfl dfm dfn dfo dfp dfq dfr dfs dft dfu dfv dfw dfx dfy dfz dga dgb dgc dgd dge dgf dgg dgh dgi dgj dgk dgl dgm dgn dgo dgp dgq dgr dgs dgt dgu dgv dgw dgx dgy dgz dha dhb dhc dhd dhe dhf dhg dhh dhi dhj dhk dhl dhm dhn dho dhp dhq dhr dhs dht dhu dhv dhw dhx dhy dhz dia dib dic did die dif dig dih dii dij dik dil dim din dio dip diq dir dis dit diu div diw dix diy diz dja djb djc djd dje djf djg djh dji djj djk djl djm djn djo djp djq djr djs djt dju djv djw djx djy djz dka dkb dkc dkd dke dkf dkg dkh dki dkj dkk dkl dkm dkn dko dkp dkq dkr dks dkt dku dkv dkw dkx dky dkz dla dlb dlc dld dle dlf dlg dlh dli dlj dlk dll dlm dln dlo dlp dlq dlr dls dlt dlu dlv dlw dlx dly dlz dma dmb dmc dmd dme dmf dmg dmh dmi dmj dmk dml dmm dmn dmo dmp dmq dmr dms dmt dmu dmv dmw dmx dmy dmz dna dnb dnc dnd dne dnf dng dnh dni dnj dnk dnl dnm dnn dno dnp dnq dnr dns dnt dnu dnv dnw dnx dny dnz doa dob doc dod doe dof dog doh doi doj dok dol dom don doo dop doq dor dos dot dou dov dow dox doy doz dpa dpb dpc dpd dpe dpf dpg dph dpi dpj dpk dpl dpm dpn dpo dpp dpq dpr dps dpt dpu dpv dpw dpx dpy dpz dqa dqb dqc dqd dqe dqf dqg dqh dqi dqj dqk dql dqm dqn dqo dqp dqq dqr dqs dqt dqu dqv dqw dqx dqy dqz dra drb drc drd dre drf drg drh dri drj drk drl drm drn dro drp drq drr drs drt dru drv drw drx dry drz dsa dsb dsc dsd dse dsf dsg dsh dsi dsj dsk dsl dsm dsn dso dsp dsq dsr dss dst dsu dsv dsw dsx dsy dsz dta dtb dtc dtd dte dtf dtg dth dti dtj dtk dtl dtm dtn dto dtp dtq dtr dts dtt dtu dtv dtw dtx dty dtz dua dub duc dud due duf dug duh dui duj duk dul dum dun duo dup duq dur dus dut duu duv duw dux duy duz dva dvb dvc dvd dve dvf dvg dvh dvi dvj dvk dvl dvm dvn dvo dvp dvq dvr dvs dvt dvu dvv dvw dvx dvy dvz dwa dwb dwc dwd dwe dwf dwg dwh dwi dwj dwk dwl dwm dwn dwo dwp dwq dwr dws dwt dwu dwv dww dwx dwy dwz dxa dxb dxc dxd dxe dxf dxg dxh dxi dxj dxk dxl dxm dxn dxo dxp dxq dxr dxs dxt dxu dxv dxw dxx dxy dxz dya dyb dyc dyd dye dyf dyg dyh dyi dyj dyk dyl dym dyn dyo dyp dyq dyr dys dyt dyu dyv dyw dyx dyy dyz dza dzb dzc dzd dze dzf dzg dzh dzi dzj dzk dzl dzm dzn dzo dzp dzq dzr dzs dzt dzu dzv dzw dzx dzy dzz eaa eab eac ead eae eaf eag eah eai eaj eak eal eam ean eao eap eaq ear eas eat eau eav eaw eax eay eaz eba ebb ebc ebd ebe ebf ebg ebh ebi ebj ebk ebl ebm ebn ebo ebp ebq ebr ebs ebt ebu ebv ebw ebx eby ebz eca ecb ecc ecd ece ecf ecg ech eci ecj eck ecl ecm ecn eco ecp ecq ecr ecs ect ecu ecv ecw ecx ecy ecz eda edb edc edd ede edf edg edh edi edj edk edl edm edn edo edp edq edr eds edt edu edv edw edx edy edz eea eeb eec eed eee eef eeg eeh eei eej eek eel eem een eeo eep eeq eer ees eet eeu eev eew eex eey eez efa efb efc efd efe eff efg efh efi efj efk efl efm efn efo efp efq efr efs eft efu efv efw efx efy efz ega egb egc egd ege egf egg egh egi egj egk egl egm egn ego egp egq egr egs egt egu egv egw egx egy egz eha ehb ehc ehd ehe ehf ehg ehh ehi ehj ehk ehl ehm ehn eho ehp ehq ehr ehs eht ehu ehv ehw ehx ehy ehz eia eib eic eid eie eif eig eih eii eij eik eil eim ein eio eip eiq eir eis eit eiu eiv eiw eix eiy eiz eja ejb ejc ejd eje ejf ejg ejh eji ejj ejk ejl ejm ejn ejo ejp ejq ejr ejs ejt eju ejv ejw ejx ejy ejz eka ekb ekc ekd eke ekf ekg ekh eki ekj ekk ekl ekm ekn eko ekp ekq ekr eks ekt eku ekv ekw ekx eky ekz ela elb elc eld ele elf elg elh eli elj elk ell elm eln elo elp elq elr els elt elu elv elw elx ely elz ema emb emc emd eme emf emg emh emi emj emk eml emm emn emo emp emq emr ems emt emu emv emw emx emy emz ena enb enc end ene enf eng enh eni enj enk enl enm enn eno enp enq enr ens ent enu env enw enx eny enz eoa eob eoc eod eoe eof eog eoh eoi eoj eok eol eom eon eoo eop eoq eor eos eot eou eov eow eox eoy eoz epa epb epc epd epe epf epg eph epi epj epk epl epm epn epo epp epq epr eps ept epu epv epw epx epy epz eqa eqb eqc eqd eqe eqf eqg eqh eqi eqj eqk eql eqm eqn eqo eqp eqq eqr eqs eqt equ eqv eqw eqx eqy eqz era erb erc erd ere erf erg erh eri erj erk erl erm ern ero erp erq err ers ert eru erv erw erx ery erz esa esb esc esd ese esf esg esh esi esj esk esl esm esn eso esp esq esr ess est esu esv esw esx esy esz eta etb etc etd ete etf etg eth eti etj etk etl etm etn eto etp etq etr ets ett etu etv etw etx ety etz eua eub euc eud eue euf eug euh eui euj euk eul eum eun euo eup euq eur eus eut euu euv euw eux euy euz eva evb evc evd eve evf evg evh evi evj evk evl evm evn evo evp evq evr evs evt evu evv evw evx evy evz ewa ewb ewc ewd ewe ewf ewg ewh ewi ewj ewk ewl ewm ewn ewo ewp ewq ewr ews ewt ewu ewv eww ewx ewy ewz exa exb exc exd exe exf exg exh exi exj exk exl exm exn exo exp exq exr exs ext exu exv exw exx exy exz eya eyb eyc eyd eye eyf eyg eyh eyi eyj eyk eyl eym eyn eyo eyp eyq eyr eys eyt eyu eyv eyw eyx eyy eyz eza ezb ezc ezd eze ezf ezg ezh ezi ezj ezk ezl ezm ezn ezo ezp ezq ezr ezs ezt ezu ezv ezw ezx ezy ezz faa fab fac fad fae faf fag fah fai faj fak fal fam fan fao fap faq far fas fat fau fav faw fax fay faz fba fbb fbc fbd fbe fbf fbg fbh fbi fbj fbk fbl fbm fbn fbo fbp fbq fbr fbs fbt fbu fbv fbw fbx fby fbz fca fcb fcc fcd fce fcf fcg fch fci fcj fck fcl fcm fcn fco fcp fcq fcr fcs fct fcu fcv fcw fcx fcy fcz fda fdb fdc fdd fde fdf fdg fdh fdi fdj fdk fdl fdm fdn fdo fdp fdq fdr fds fdt fdu fdv fdw fdx fdy fdz fea feb fec fed fee fef feg feh fei fej fek fel fem fen feo fep feq fer fes fet feu fev few fex fey fez ffa ffb ffc ffd ffe fff ffg ffh ffi ffj ffk ffl ffm ffn ffo ffp ffq ffr ffs fft ffu ffv ffw ffx ffy ffz fga fgb fgc fgd fge fgf fgg fgh fgi fgj fgk fgl fgm fgn fgo fgp fgq fgr fgs fgt fgu fgv fgw fgx fgy fgz fha fhb fhc fhd fhe fhf fhg fhh fhi fhj fhk fhl fhm fhn fho fhp fhq fhr fhs fht fhu fhv fhw fhx fhy fhz fia fib fic fid fie fif fig fih fii fij fik fil fim fin fio fip fiq fir fis fit fiu fiv fiw fix fiy fiz fja fjb fjc fjd fje fjf fjg fjh fji fjj fjk fjl fjm fjn fjo fjp fjq fjr fjs fjt fju fjv fjw fjx fjy fjz fka fkb fkc fkd fke fkf fkg fkh fki fkj fkk fkl fkm fkn fko fkp fkq fkr fks fkt fku fkv fkw fkx fky fkz fla flb flc fld fle flf flg flh fli flj flk fll flm fln flo flp flq flr fls flt flu flv flw flx fly flz fma fmb fmc fmd fme fmf fmg fmh fmi fmj fmk fml fmm fmn fmo fmp fmq fmr fms fmt fmu fmv fmw fmx fmy fmz fna fnb fnc fnd fne fnf fng fnh fni fnj fnk fnl fnm fnn fno fnp fnq fnr fns fnt fnu fnv fnw fnx fny fnz foa fob foc fod foe fof fog foh foi foj fok fol fom fon foo fop foq for fos fot fou fov fow fox foy foz fpa fpb fpc fpd fpe fpf fpg fph fpi fpj fpk fpl fpm fpn fpo fpp fpq fpr fps fpt fpu fpv fpw fpx fpy fpz fqa fqb fqc fqd fqe fqf fqg fqh fqi fqj fqk fql fqm fqn fqo fqp fqq fqr fqs fqt fqu fqv fqw fqx fqy fqz fra frb frc frd fre frf frg frh fri frj frk frl frm frn fro frp frq frr frs frt fru frv frw frx fry frz fsa fsb fsc fsd fse fsf fsg fsh fsi fsj fsk fsl fsm fsn fso fsp fsq fsr fss fst fsu fsv fsw fsx fsy fsz fta ftb ftc ftd fte ftf ftg fth fti ftj ftk ftl ftm ftn fto ftp ftq ftr fts ftt ftu ftv ftw ftx fty ftz fua fub fuc fud fue fuf fug fuh fui fuj fuk ful fum fun fuo fup fuq fur fus fut fuu fuv fuw fux fuy fuz fva fvb fvc fvd fve fvf fvg fvh fvi fvj fvk fvl fvm fvn fvo fvp fvq fvr fvs fvt fvu fvv fvw fvx fvy fvz fwa fwb fwc fwd fwe fwf fwg fwh fwi fwj fwk fwl fwm fwn fwo fwp fwq fwr fws fwt fwu fwv fww fwx fwy fwz fxa fxb fxc fxd fxe fxf fxg fxh fxi fxj fxk fxl fxm fxn fxo fxp fxq fxr fxs fxt fxu fxv fxw fxx fxy fxz fya fyb fyc fyd fye fyf fyg fyh fyi fyj fyk fyl fym fyn fyo fyp fyq fyr fys fyt fyu fyv fyw fyx fyy fyz fza fzb fzc fzd fze fzf fzg fzh fzi fzj fzk fzl fzm fzn fzo fzp fzq fzr fzs fzt fzu fzv fzw fzx fzy fzz gaa gab gac gad gae gaf gag gah gai gaj gak gal gam gan gao gap gaq gar gas gat gau gav gaw gax gay gaz gba gbb gbc gbd gbe gbf gbg gbh gbi gbj gbk gbl gbm gbn gbo gbp gbq gbr gbs gbt gbu gbv gbw gbx gby gbz gca gcb gcc gcd gce gcf gcg gch gci gcj gck gcl gcm gcn gco gcp gcq gcr gcs gct gcu gcv gcw gcx gcy gcz gda gdb gdc gdd gde gdf gdg gdh gdi gdj gdk gdl gdm gdn gdo gdp gdq gdr gds gdt gdu gdv gdw gdx gdy gdz gea geb gec ged gee gef geg geh gei gej gek gel gem gen geo gep geq ger ges get geu gev gew gex gey gez gfa gfb gfc gfd gfe gff gfg gfh gfi gfj gfk gfl gfm gfn gfo gfp gfq gfr gfs gft gfu gfv gfw gfx gfy gfz gga ggb ggc ggd gge ggf ggg ggh ggi ggj ggk ggl ggm ggn ggo ggp ggq ggr ggs ggt ggu ggv ggw ggx ggy ggz gha ghb ghc ghd ghe ghf ghg ghh ghi ghj ghk ghl ghm ghn gho ghp ghq ghr ghs ght ghu ghv ghw ghx ghy ghz gia gib gic gid gie gif gig gih gii gij gik gil gim gin gio gip giq gir gis git giu giv giw gix giy giz gja gjb gjc gjd gje gjf gjg gjh gji gjj gjk gjl gjm gjn gjo gjp gjq gjr gjs gjt gju gjv gjw gjx gjy gjz gka gkb gkc gkd gke gkf gkg gkh gki gkj gkk gkl gkm gkn gko gkp gkq gkr gks gkt gku gkv gkw gkx gky gkz gla glb glc gld gle glf glg glh gli glj glk gll glm gln glo glp glq glr gls glt glu glv glw glx gly glz gma gmb gmc gmd gme gmf gmg gmh gmi gmj gmk gml gmm gmn gmo gmp gmq gmr gms gmt gmu gmv gmw gmx gmy gmz gna gnb gnc gnd gne gnf gng gnh gni gnj gnk gnl gnm gnn gno gnp gnq gnr gns gnt gnu gnv gnw gnx gny gnz goa gob goc god goe gof gog goh goi goj gok gol gom gon goo gop goq gor gos got gou gov gow gox goy goz gpa gpb gpc gpd gpe gpf gpg gph gpi gpj gpk gpl gpm gpn gpo gpp gpq gpr gps gpt gpu gpv gpw gpx gpy gpz gqa gqb gqc gqd gqe gqf gqg gqh gqi gqj gqk gql gqm gqn gqo gqp gqq gqr gqs gqt gqu gqv gqw gqx gqy gqz gra grb grc grd gre grf grg grh gri grj grk grl grm grn gro grp grq grr grs grt gru grv grw grx gry grz gsa gsb gsc gsd gse gsf gsg gsh gsi gsj gsk gsl gsm gsn gso gsp gsq gsr gss gst gsu gsv gsw gsx gsy gsz gta gtb gtc gtd gte gtf gtg gth gti gtj gtk gtl gtm gtn gto gtp gtq gtr gts gtt gtu gtv gtw gtx gty gtz gua gub guc gud gue guf gug guh gui guj guk gul gum gun guo gup guq gur gus gut guu guv guw gux guy guz gva gvb gvc gvd gve gvf gvg gvh gvi gvj gvk gvl gvm gvn gvo gvp gvq gvr gvs gvt gvu gvv gvw gvx gvy gvz gwa gwb gwc gwd gwe gwf gwg gwh gwi gwj gwk gwl gwm gwn gwo gwp gwq gwr gws gwt gwu gwv gww gwx gwy gwz gxa gxb gxc gxd gxe gxf gxg gxh gxi gxj gxk gxl gxm gxn gxo gxp gxq gxr gxs gxt gxu gxv gxw gxx gxy gxz gya gyb gyc gyd gye gyf gyg gyh gyi gyj gyk gyl gym gyn gyo gyp gyq gyr gys gyt gyu gyv gyw gyx gyy gyz gza gzb gzc gzd gze gzf gzg gzh gzi gzj gzk gzl gzm gzn gzo gzp gzq gzr gzs gzt gzu gzv gzw gzx gzy gzz haa hab hac had hae haf hag hah hai haj hak hal ham han hao hap haq har has hat hau hav haw hax hay haz hba hbb hbc hbd hbe hbf hbg hbh hbi hbj hbk hbl hbm hbn hbo hbp hbq hbr hbs hbt hbu hbv hbw hbx hby hbz hca hcb hcc hcd hce hcf hcg hch hci hcj hck hcl hcm hcn hco hcp hcq hcr hcs hct hcu hcv hcw hcx hcy hcz hda hdb hdc hdd hde hdf hdg hdh hdi hdj hdk hdl hdm hdn hdo hdp hdq hdr hds hdt hdu hdv hdw hdx hdy hdz hea heb hec hed hee hef heg heh hei hej hek hel hem hen heo hep heq her hes het heu hev hew hex hey hez hfa hfb hfc hfd hfe hff hfg hfh hfi hfj hfk hfl hfm hfn hfo hfp hfq hfr hfs hft hfu hfv hfw hfx hfy hfz hga hgb hgc hgd hge hgf hgg hgh hgi hgj hgk hgl hgm hgn hgo hgp hgq hgr hgs hgt hgu hgv hgw hgx hgy hgz hha hhb hhc hhd hhe hhf hhg hhh hhi hhj hhk hhl hhm hhn hho hhp hhq hhr hhs hht hhu hhv hhw hhx hhy hhz hia hib hic hid hie hif hig hih hii hij hik hil him hin hio hip hiq hir his hit hiu hiv hiw hix hiy hiz hja hjb hjc hjd hje hjf hjg hjh hji hjj hjk hjl hjm hjn hjo hjp hjq hjr hjs hjt hju hjv hjw hjx hjy hjz hka hkb hkc hkd hke hkf hkg hkh hki hkj hkk hkl hkm hkn hko hkp hkq hkr hks hkt hku hkv hkw hkx hky hkz hla hlb hlc hld hle hlf hlg hlh hli hlj hlk hll hlm hln hlo hlp hlq hlr hls hlt hlu hlv hlw hlx hly hlz hma hmb hmc hmd hme hmf hmg hmh hmi hmj hmk hml hmm hmn hmo hmp hmq hmr hms hmt hmu hmv hmw hmx hmy hmz hna hnb hnc hnd hne hnf hng hnh hni hnj hnk hnl hnm hnn hno hnp hnq hnr hns hnt hnu hnv hnw hnx hny hnz hoa hob hoc hod hoe hof hog hoh hoi hoj hok hol hom hon hoo hop hoq hor hos hot hou hov how hox hoy hoz hpa hpb hpc hpd hpe hpf hpg hph hpi hpj hpk hpl hpm hpn hpo hpp hpq hpr hps hpt hpu hpv hpw hpx hpy hpz hqa hqb hqc hqd hqe hqf hqg hqh hqi hqj hqk hql hqm hqn hqo hqp hqq hqr hqs hqt hqu hqv hqw hqx hqy hqz hra hrb hrc hrd hre hrf hrg hrh hri hrj hrk hrl hrm hrn hro hrp hrq hrr hrs hrt hru hrv hrw hrx hry hrz hsa hsb hsc hsd hse hsf hsg hsh hsi hsj hsk hsl hsm hsn hso hsp hsq hsr hss hst hsu hsv hsw hsx hsy hsz hta htb htc htd hte htf htg hth hti htj htk htl htm htn hto htp htq htr hts htt htu htv htw htx hty htz hua hub huc hud hue huf hug huh hui huj huk hul hum hun huo hup huq hur hus hut huu huv huw hux huy huz hva hvb hvc hvd hve hvf hvg hvh hvi hvj hvk hvl hvm hvn hvo hvp hvq hvr hvs hvt hvu hvv hvw hvx hvy hvz hwa hwb hwc hwd hwe hwf hwg hwh hwi hwj hwk hwl hwm hwn hwo hwp hwq hwr hws hwt hwu hwv hww hwx hwy hwz hxa hxb hxc hxd hxe hxf hxg hxh hxi hxj hxk hxl hxm hxn hxo hxp hxq hxr hxs hxt hxu hxv hxw hxx hxy hxz hya hyb hyc hyd hye hyf hyg hyh hyi hyj hyk hyl hym hyn hyo hyp hyq hyr hys hyt hyu hyv hyw hyx hyy hyz hza hzb hzc hzd hze hzf hzg hzh hzi hzj hzk hzl hzm hzn hzo hzp hzq hzr hzs hzt hzu hzv hzw hzx hzy hzz iaa iab iac iad iae iaf iag iah iai iaj iak ial iam ian iao iap iaq iar ias iat iau iav iaw iax iay iaz iba ibb ibc ibd ibe ibf ibg ibh ibi ibj ibk ibl ibm ibn ibo ibp ibq ibr ibs ibt ibu ibv ibw ibx iby ibz ica icb icc icd ice icf icg ich ici icj ick icl icm icn ico icp icq icr ics ict icu icv icw icx icy icz ida idb idc idd ide idf idg idh idi idj idk idl idm idn ido idp idq idr ids idt idu idv idw idx idy idz iea ieb iec ied iee ief ieg ieh iei iej iek iel iem ien ieo iep ieq ier ies iet ieu iev iew iex iey iez ifa ifb ifc ifd ife iff ifg ifh ifi ifj ifk ifl ifm ifn ifo ifp ifq ifr ifs ift ifu ifv ifw ifx ify ifz iga igb igc igd ige igf igg igh igi igj igk igl igm ign igo igp igq igr igs igt igu igv igw igx igy igz iha ihb ihc ihd ihe ihf ihg ihh ihi ihj ihk ihl ihm ihn iho ihp ihq ihr ihs iht ihu ihv ihw ihx ihy ihz iia iib iic iid iie iif iig iih iii iij iik iil iim iin iio iip iiq iir iis iit iiu iiv iiw iix iiy iiz ija ijb ijc ijd ije ijf ijg ijh iji ijj ijk ijl ijm ijn ijo ijp ijq ijr ijs ijt iju ijv ijw ijx ijy ijz ika ikb ikc ikd ike ikf ikg ikh iki ikj ikk ikl ikm ikn iko ikp ikq ikr iks ikt iku ikv ikw ikx iky ikz ila ilb ilc ild ile ilf ilg ilh ili ilj ilk ill ilm iln ilo ilp ilq ilr ils ilt ilu ilv ilw ilx ily ilz ima imb imc imd ime imf img imh imi imj imk iml imm imn imo imp imq imr ims imt imu imv imw imx imy imz ina inb inc ind ine inf ing inh ini inj ink inl inm inn ino inp inq inr ins int inu inv inw inx iny inz ioa iob ioc iod ioe iof iog ioh ioi ioj iok iol iom ion ioo iop ioq ior ios iot iou iov iow iox ioy ioz ipa ipb ipc ipd ipe ipf ipg iph ipi ipj ipk ipl ipm ipn ipo ipp ipq ipr ips ipt ipu ipv ipw ipx ipy ipz iqa iqb iqc iqd iqe iqf iqg iqh iqi iqj iqk iql iqm iqn iqo iqp iqq iqr iqs iqt iqu iqv iqw iqx iqy iqz ira irb irc ird ire irf irg irh iri irj irk irl irm irn iro irp irq irr irs irt iru irv irw irx iry irz isa isb isc isd ise isf isg ish isi isj isk isl ism isn iso isp isq isr iss ist isu isv isw isx isy isz ita itb itc itd ite itf itg ith iti itj itk itl itm itn ito itp itq itr its itt itu itv itw itx ity itz iua iub iuc iud iue iuf iug iuh iui iuj iuk iul ium iun iuo iup iuq iur ius iut iuu iuv iuw iux iuy iuz iva ivb ivc ivd ive ivf ivg ivh ivi ivj ivk ivl ivm ivn ivo ivp ivq ivr ivs ivt ivu ivv ivw ivx ivy ivz iwa iwb iwc iwd iwe iwf iwg iwh iwi iwj iwk iwl iwm iwn iwo iwp iwq iwr iws iwt iwu iwv iww iwx iwy iwz ixa ixb ixc ixd ixe ixf ixg ixh ixi ixj ixk ixl ixm ixn ixo ixp ixq ixr ixs ixt ixu ixv ixw ixx ixy ixz iya iyb iyc iyd iye iyf iyg iyh iyi iyj iyk iyl iym iyn iyo iyp iyq iyr iys iyt iyu iyv iyw iyx iyy iyz iza izb izc izd ize izf izg izh izi izj izk izl izm izn izo izp izq izr izs izt izu izv izw izx izy izz jaa jab jac jad jae jaf jag jah jai jaj jak jal jam jan jao jap jaq jar jas jat jau jav jaw jax jay jaz jba jbb jbc jbd jbe jbf jbg jbh jbi jbj jbk jbl jbm jbn jbo jbp jbq jbr jbs jbt jbu jbv jbw jbx jby jbz jca jcb jcc jcd jce jcf jcg jch jci jcj jck jcl jcm jcn jco jcp jcq jcr jcs jct jcu jcv jcw jcx jcy jcz jda jdb jdc jdd jde jdf jdg jdh jdi jdj jdk jdl jdm jdn jdo jdp jdq jdr jds jdt jdu jdv jdw jdx jdy jdz jea jeb jec jed jee jef jeg jeh jei jej jek jel jem jen jeo jep jeq jer jes jet jeu jev jew jex jey jez jfa jfb jfc jfd jfe jff jfg jfh jfi jfj jfk jfl jfm jfn jfo jfp jfq jfr jfs jft jfu jfv jfw jfx jfy jfz jga jgb jgc jgd jge jgf jgg jgh jgi jgj jgk jgl jgm jgn jgo jgp jgq jgr jgs jgt jgu jgv jgw jgx jgy jgz jha jhb jhc jhd jhe jhf jhg jhh jhi jhj jhk jhl jhm jhn jho jhp jhq jhr jhs jht jhu jhv jhw jhx jhy jhz jia jib jic jid jie jif jig jih jii jij jik jil jim jin jio jip jiq jir jis jit jiu jiv jiw jix jiy jiz jja jjb jjc jjd jje jjf jjg jjh jji jjj jjk jjl jjm jjn jjo jjp jjq jjr jjs jjt jju jjv jjw jjx jjy jjz jka jkb jkc jkd jke jkf jkg jkh jki jkj jkk jkl jkm jkn jko jkp jkq jkr jks jkt jku jkv jkw jkx jky jkz jla jlb jlc jld jle jlf jlg jlh jli jlj jlk jll jlm jln jlo jlp jlq jlr jls jlt jlu jlv jlw jlx jly jlz jma jmb jmc jmd jme jmf jmg jmh jmi jmj jmk jml jmm jmn jmo jmp jmq jmr jms jmt jmu jmv jmw jmx jmy jmz jna jnb jnc jnd jne jnf jng jnh jni jnj jnk jnl jnm jnn jno jnp jnq jnr jns jnt jnu jnv jnw jnx jny jnz joa job joc jod joe jof jog joh joi joj jok jol jom jon joo jop joq jor jos jot jou jov jow jox joy joz jpa jpb jpc jpd jpe jpf jpg jph jpi jpj jpk jpl jpm jpn jpo jpp jpq jpr jps jpt jpu jpv jpw jpx jpy jpz jqa jqb jqc jqd jqe jqf jqg jqh jqi jqj jqk jql jqm jqn jqo jqp jqq jqr jqs jqt jqu jqv jqw jqx jqy jqz jra jrb jrc jrd jre jrf jrg jrh jri jrj jrk jrl jrm jrn jro jrp jrq jrr jrs jrt jru jrv jrw jrx jry jrz jsa jsb jsc jsd jse jsf jsg jsh jsi jsj jsk jsl jsm jsn jso jsp jsq jsr jss jst jsu jsv jsw jsx jsy jsz jta jtb jtc jtd jte jtf jtg jth jti jtj jtk jtl jtm jtn jto jtp jtq jtr jts jtt jtu jtv jtw jtx jty jtz jua jub juc jud jue juf jug juh jui juj juk jul jum jun juo jup juq jur jus jut juu juv juw jux juy juz jva jvb jvc jvd jve jvf jvg jvh jvi jvj jvk jvl jvm jvn jvo jvp jvq jvr jvs jvt jvu jvv jvw jvx jvy jvz jwa jwb jwc jwd jwe jwf jwg jwh jwi jwj jwk jwl jwm jwn jwo jwp jwq jwr jws jwt jwu jwv jww jwx jwy jwz jxa jxb jxc jxd jxe jxf jxg jxh jxi jxj jxk jxl jxm jxn jxo jxp jxq jxr jxs jxt jxu jxv jxw jxx jxy jxz jya jyb jyc jyd jye jyf jyg jyh jyi jyj jyk jyl jym jyn jyo jyp jyq jyr jys jyt jyu jyv jyw jyx jyy jyz jza jzb jzc jzd jze jzf jzg jzh jzi jzj jzk jzl jzm jzn jzo jzp jzq jzr jzs jzt jzu jzv jzw jzx jzy jzz kaa kab kac kad kae kaf kag kah kai kaj kak kal kam kan kao kap kaq kar kas kat kau kav kaw kax kay kaz kba kbb kbc kbd kbe kbf kbg kbh kbi kbj kbk kbl kbm kbn kbo kbp kbq kbr kbs kbt kbu kbv kbw kbx kby kbz kca kcb kcc kcd kce kcf kcg kch kci kcj kck kcl kcm kcn kco kcp kcq kcr kcs kct kcu kcv kcw kcx kcy kcz kda kdb kdc kdd kde kdf kdg kdh kdi kdj kdk kdl kdm kdn kdo kdp kdq kdr kds kdt kdu kdv kdw kdx kdy kdz kea keb kec ked kee kef keg keh kei kej kek kel kem ken keo kep keq ker kes ket keu kev kew kex key kez kfa kfb kfc kfd kfe kff kfg kfh kfi kfj kfk kfl kfm kfn kfo kfp kfq kfr kfs kft kfu kfv kfw kfx kfy kfz kga kgb kgc kgd kge kgf kgg kgh kgi kgj kgk kgl kgm kgn kgo kgp kgq kgr kgs kgt kgu kgv kgw kgx kgy kgz kha khb khc khd khe khf khg khh khi khj khk khl khm khn kho khp khq khr khs kht khu khv khw khx khy khz kia kib kic kid kie kif kig kih kii kij kik kil kim kin kio kip kiq kir kis kit kiu kiv kiw kix kiy kiz kja kjb kjc kjd kje kjf kjg kjh kji kjj kjk kjl kjm kjn kjo kjp kjq kjr kjs kjt kju kjv kjw kjx kjy kjz kka kkb kkc kkd kke kkf kkg kkh kki kkj kkk kkl kkm kkn kko kkp kkq kkr kks kkt kku kkv kkw kkx kky kkz kla klb klc kld kle klf klg klh kli klj klk kll klm kln klo klp klq klr kls klt klu klv klw klx kly klz kma kmb kmc kmd kme kmf kmg kmh kmi kmj kmk kml kmm kmn kmo kmp kmq kmr kms kmt kmu kmv kmw kmx kmy kmz kna knb knc knd kne knf kng knh kni knj knk knl knm knn kno knp knq knr kns knt knu knv knw knx kny knz koa kob koc kod koe kof kog koh koi koj kok kol kom kon koo kop koq kor kos kot kou kov kow kox koy koz kpa kpb kpc kpd kpe kpf kpg kph kpi kpj kpk kpl kpm kpn kpo kpp kpq kpr kps kpt kpu kpv kpw kpx kpy kpz kqa kqb kqc kqd kqe kqf kqg kqh kqi kqj kqk kql kqm kqn kqo kqp kqq kqr kqs kqt kqu kqv kqw kqx kqy kqz kra krb krc krd kre krf krg krh kri krj krk krl krm krn kro krp krq krr krs krt kru krv krw krx kry krz ksa ksb ksc ksd kse ksf ksg ksh ksi ksj ksk ksl ksm ksn kso ksp ksq ksr kss kst ksu ksv ksw ksx ksy ksz kta ktb ktc ktd kte ktf ktg kth kti ktj ktk ktl ktm ktn kto ktp ktq ktr kts ktt ktu ktv ktw ktx kty ktz kua kub kuc kud kue kuf kug kuh kui kuj kuk kul kum kun kuo kup kuq kur kus kut kuu kuv kuw kux kuy kuz kva kvb kvc kvd kve kvf kvg kvh kvi kvj kvk kvl kvm kvn kvo kvp kvq kvr kvs kvt kvu kvv kvw kvx kvy kvz kwa kwb kwc kwd kwe kwf kwg kwh kwi kwj kwk kwl kwm kwn kwo kwp kwq kwr kws kwt kwu kwv kww kwx kwy kwz kxa kxb kxc kxd kxe kxf kxg kxh kxi kxj kxk kxl kxm kxn kxo kxp kxq kxr kxs kxt kxu kxv kxw kxx kxy kxz kya kyb kyc kyd kye kyf kyg kyh kyi kyj kyk kyl kym kyn kyo kyp kyq kyr kys kyt kyu kyv kyw kyx kyy kyz kza kzb kzc kzd kze kzf kzg kzh kzi kzj kzk kzl kzm kzn kzo kzp kzq kzr kzs kzt kzu kzv kzw kzx kzy kzz laa lab lac lad lae laf lag lah lai laj lak lal lam lan lao lap laq lar las lat lau lav law lax lay laz lba lbb lbc lbd lbe lbf lbg lbh lbi lbj lbk lbl lbm lbn lbo lbp lbq lbr lbs lbt lbu lbv lbw lbx lby lbz lca lcb lcc lcd lce lcf lcg lch lci lcj lck lcl lcm lcn lco lcp lcq lcr lcs lct lcu lcv lcw lcx lcy lcz lda ldb ldc ldd lde ldf ldg ldh ldi ldj ldk ldl ldm ldn ldo ldp ldq ldr lds ldt ldu ldv ldw ldx ldy ldz lea leb lec led lee lef leg leh lei lej lek lel lem len leo lep leq ler les let leu lev lew lex ley lez lfa lfb lfc lfd lfe lff lfg lfh lfi lfj lfk lfl lfm lfn lfo lfp lfq lfr lfs lft lfu lfv lfw lfx lfy lfz lga lgb lgc lgd lge lgf lgg lgh lgi lgj lgk lgl lgm lgn lgo lgp lgq lgr lgs lgt lgu lgv lgw lgx lgy lgz lha lhb lhc lhd lhe lhf lhg lhh lhi lhj lhk lhl lhm lhn lho lhp lhq lhr lhs lht lhu lhv lhw lhx lhy lhz lia lib lic lid lie lif lig lih lii lij lik lil lim lin lio lip liq lir lis lit liu liv liw lix liy liz lja ljb ljc ljd lje ljf ljg ljh lji ljj ljk ljl ljm ljn ljo ljp ljq ljr ljs ljt lju ljv ljw ljx ljy ljz lka lkb lkc lkd lke lkf lkg lkh lki lkj lkk lkl lkm lkn lko lkp lkq lkr lks lkt lku lkv lkw lkx lky lkz lla llb llc lld lle llf llg llh lli llj llk lll llm lln llo llp llq llr lls llt llu llv llw llx lly llz lma lmb lmc lmd lme lmf lmg lmh lmi lmj lmk lml lmm lmn lmo lmp lmq lmr lms lmt lmu lmv lmw lmx lmy lmz lna lnb lnc lnd lne lnf lng lnh lni lnj lnk lnl lnm lnn lno lnp lnq lnr lns lnt lnu lnv lnw lnx lny lnz loa lob loc lod loe lof log loh loi loj lok lol lom lon loo lop loq lor los lot lou lov low lox loy loz lpa lpb lpc lpd lpe lpf lpg lph lpi lpj lpk lpl lpm lpn lpo lpp lpq lpr lps lpt lpu lpv lpw lpx lpy lpz lqa lqb lqc lqd lqe lqf lqg lqh lqi lqj lqk lql lqm lqn lqo lqp lqq lqr lqs lqt lqu lqv lqw lqx lqy lqz lra lrb lrc lrd lre lrf lrg lrh lri lrj lrk lrl lrm lrn lro lrp lrq lrr lrs lrt lru lrv lrw lrx lry lrz lsa lsb lsc lsd lse lsf lsg lsh lsi lsj lsk lsl lsm lsn lso lsp lsq lsr lss lst lsu lsv lsw lsx lsy lsz lta ltb ltc ltd lte ltf ltg lth lti ltj ltk ltl ltm ltn lto ltp ltq ltr lts ltt ltu ltv ltw ltx lty ltz lua lub luc lud lue luf lug luh lui luj luk lul lum lun luo lup luq lur lus lut luu luv luw lux luy luz lva lvb lvc lvd lve lvf lvg lvh lvi lvj lvk lvl lvm lvn lvo lvp lvq lvr lvs lvt lvu lvv lvw lvx lvy lvz lwa lwb lwc lwd lwe lwf lwg lwh lwi lwj lwk lwl lwm lwn lwo lwp lwq lwr lws lwt lwu lwv lww lwx lwy lwz lxa lxb lxc lxd lxe lxf lxg lxh lxi lxj lxk lxl lxm lxn lxo lxp lxq lxr lxs lxt lxu lxv lxw lxx lxy lxz lya lyb lyc lyd lye lyf lyg lyh lyi lyj lyk lyl lym lyn lyo lyp lyq lyr lys lyt lyu lyv lyw lyx lyy lyz lza lzb lzc lzd lze lzf lzg lzh lzi lzj lzk lzl lzm lzn lzo lzp lzq lzr lzs lzt lzu lzv lzw lzx lzy lzz maa mab mac mad mae maf mag mah mai maj mak mal mam man mao map maq mar mas mat mau mav maw max may maz mba mbb mbc mbd mbe mbf mbg mbh mbi mbj mbk mbl mbm mbn mbo mbp mbq mbr mbs mbt mbu mbv mbw mbx mby mbz mca mcb mcc mcd mce mcf mcg mch mci mcj mck mcl mcm mcn mco mcp mcq mcr mcs mct mcu mcv mcw mcx mcy mcz mda mdb mdc mdd mde mdf mdg mdh mdi mdj mdk mdl mdm mdn mdo mdp mdq mdr mds mdt mdu mdv mdw mdx mdy mdz mea meb mec med mee mef meg meh mei mej mek mel mem men meo mep meq mer mes met meu mev mew mex mey mez mfa mfb mfc mfd mfe mff mfg mfh mfi mfj mfk mfl mfm mfn mfo mfp mfq mfr mfs mft mfu mfv mfw mfx mfy mfz mga mgb mgc mgd mge mgf mgg mgh mgi mgj mgk mgl mgm mgn mgo mgp mgq mgr mgs mgt mgu mgv mgw mgx mgy mgz mha mhb mhc mhd mhe mhf mhg mhh mhi mhj mhk mhl mhm mhn mho mhp mhq mhr mhs mht mhu mhv mhw mhx mhy mhz mia mib mic mid mie mif mig mih mii mij mik mil mim min mio mip miq mir mis mit miu miv miw mix miy miz mja mjb mjc mjd mje mjf mjg mjh mji mjj mjk mjl mjm mjn mjo mjp mjq mjr mjs mjt mju mjv mjw mjx mjy mjz mka mkb mkc mkd mke mkf mkg mkh mki mkj mkk mkl mkm mkn mko mkp mkq mkr mks mkt mku mkv mkw mkx mky mkz mla mlb mlc mld mle mlf mlg mlh mli mlj mlk mll mlm mln mlo mlp mlq mlr mls mlt mlu mlv mlw mlx mly mlz mma mmb mmc mmd mme mmf mmg mmh mmi mmj mmk mml mmm mmn mmo mmp mmq mmr mms mmt mmu mmv mmw mmx mmy mmz mna mnb mnc mnd mne mnf mng mnh mni mnj mnk mnl mnm mnn mno mnp mnq mnr mns mnt mnu mnv mnw mnx mny mnz moa mob moc mod moe mof mog moh moi moj mok mol mom mon moo mop moq mor mos mot mou mov mow mox moy moz mpa mpb mpc mpd mpe mpf mpg mph mpi mpj mpk mpl mpm mpn mpo mpp mpq mpr mps mpt mpu mpv mpw mpx mpy mpz mqa mqb mqc mqd mqe mqf mqg mqh mqi mqj mqk mql mqm mqn mqo mqp mqq mqr mqs mqt mqu mqv mqw mqx mqy mqz mra mrb mrc mrd mre mrf mrg mrh mri mrj mrk mrl mrm mrn mro mrp mrq mrr mrs mrt mru mrv mrw mrx mry mrz msa msb msc msd mse msf msg msh msi msj msk msl msm msn mso msp msq msr mss mst msu msv msw msx msy msz mta mtb mtc mtd mte mtf mtg mth mti mtj mtk mtl mtm mtn mto mtp mtq mtr mts mtt mtu mtv mtw mtx mty mtz mua mub muc mud mue muf mug muh mui muj muk mul mum mun muo mup muq mur mus mut muu muv muw mux muy muz mva mvb mvc mvd mve mvf mvg mvh mvi mvj mvk mvl mvm mvn mvo mvp mvq mvr mvs mvt mvu mvv mvw mvx mvy mvz mwa mwb mwc mwd mwe mwf mwg mwh mwi mwj mwk mwl mwm mwn mwo mwp mwq mwr mws mwt mwu mwv mww mwx mwy mwz mxa mxb mxc mxd mxe mxf mxg mxh mxi mxj mxk mxl mxm mxn mxo mxp mxq mxr mxs mxt mxu mxv mxw mxx mxy mxz mya myb myc myd mye myf myg myh myi myj myk myl mym myn myo myp myq myr mys myt myu myv myw myx myy myz mza mzb mzc mzd mze mzf mzg mzh mzi mzj mzk mzl mzm mzn mzo mzp mzq mzr mzs mzt mzu mzv mzw mzx mzy mzz naa nab nac nad nae naf nag nah nai naj nak nal nam nan nao nap naq nar nas nat nau nav naw nax nay naz nba nbb nbc nbd nbe nbf nbg nbh nbi nbj nbk nbl nbm nbn nbo nbp nbq nbr nbs nbt nbu nbv nbw nbx nby nbz nca ncb ncc ncd nce ncf ncg nch nci ncj nck ncl ncm ncn nco ncp ncq ncr ncs nct ncu ncv ncw ncx ncy ncz nda ndb ndc ndd nde ndf ndg ndh ndi ndj ndk ndl ndm ndn ndo ndp ndq ndr nds ndt ndu ndv ndw ndx ndy ndz nea neb nec ned nee nef neg neh nei nej nek nel nem nen neo nep neq ner nes net neu nev new nex ney nez nfa nfb nfc nfd nfe nff nfg nfh nfi nfj nfk nfl nfm nfn nfo nfp nfq nfr nfs nft nfu nfv nfw nfx nfy nfz nga ngb ngc ngd nge ngf ngg ngh ngi ngj ngk ngl ngm ngn ngo ngp ngq ngr ngs ngt ngu ngv ngw ngx ngy ngz nha nhb nhc nhd nhe nhf nhg nhh nhi nhj nhk nhl nhm nhn nho nhp nhq nhr nhs nht nhu nhv nhw nhx nhy nhz nia nib nic nid nie nif nig nih nii nij nik nil nim nin nio nip niq nir nis nit niu niv niw nix niy niz nja njb njc njd nje njf njg njh nji njj njk njl njm njn njo njp njq njr njs njt nju njv njw njx njy njz nka nkb nkc nkd nke nkf nkg nkh nki nkj nkk nkl nkm nkn nko nkp nkq nkr nks nkt nku nkv nkw nkx nky nkz nla nlb nlc nld nle nlf nlg nlh nli nlj nlk nll nlm nln nlo nlp nlq nlr nls nlt nlu nlv nlw nlx nly nlz nma nmb nmc nmd nme nmf nmg nmh nmi nmj nmk nml nmm nmn nmo nmp nmq nmr nms nmt nmu nmv nmw nmx nmy nmz nna nnb nnc nnd nne nnf nng nnh nni nnj nnk nnl nnm nnn nno nnp nnq nnr nns nnt nnu nnv nnw nnx nny nnz noa nob noc nod noe nof nog noh noi noj nok nol nom non noo nop noq nor nos not nou nov now nox noy noz npa npb npc npd npe npf npg nph npi npj npk npl npm npn npo npp npq npr nps npt npu npv npw npx npy npz nqa nqb nqc nqd nqe nqf nqg nqh nqi nqj nqk nql nqm nqn nqo nqp nqq nqr nqs nqt nqu nqv nqw nqx nqy nqz nra nrb nrc nrd nre nrf nrg nrh nri nrj nrk nrl nrm nrn nro nrp nrq nrr nrs nrt nru nrv nrw nrx nry nrz nsa nsb nsc nsd nse nsf nsg nsh nsi nsj nsk nsl nsm nsn nso nsp nsq nsr nss nst nsu nsv nsw nsx nsy nsz nta ntb ntc ntd nte ntf ntg nth nti ntj ntk ntl ntm ntn nto ntp ntq ntr nts ntt ntu ntv ntw ntx nty ntz nua nub nuc nud nue nuf nug nuh nui nuj nuk nul num nun nuo nup nuq nur nus nut nuu nuv nuw nux nuy nuz nva nvb nvc nvd nve nvf nvg nvh nvi nvj nvk nvl nvm nvn nvo nvp nvq nvr nvs nvt nvu nvv nvw nvx nvy nvz nwa nwb nwc nwd nwe nwf nwg nwh nwi nwj nwk nwl nwm nwn nwo nwp nwq nwr nws nwt nwu nwv nww nwx nwy nwz nxa nxb nxc nxd nxe nxf nxg nxh nxi nxj nxk nxl nxm nxn nxo nxp nxq nxr nxs nxt nxu nxv nxw nxx nxy nxz nya nyb nyc nyd nye nyf nyg nyh nyi nyj nyk nyl nym nyn nyo nyp nyq nyr nys nyt nyu nyv nyw nyx nyy nyz nza nzb nzc nzd nze nzf nzg nzh nzi nzj nzk nzl nzm nzn nzo nzp nzq nzr nzs nzt nzu nzv nzw nzx nzy nzz oaa oab oac oad oae oaf oag oah oai oaj oak oal oam oan oao oap oaq oar oas oat oau oav oaw oax oay oaz oba obb obc obd obe obf obg obh obi obj obk obl obm obn obo obp obq obr obs obt obu obv obw obx oby obz oca ocb occ ocd oce ocf ocg och oci ocj ock ocl ocm ocn oco ocp ocq ocr ocs oct ocu ocv ocw ocx ocy ocz oda odb odc odd ode odf odg odh odi odj odk odl odm odn odo odp odq odr ods odt odu odv odw odx ody odz oea oeb oec oed oee oef oeg oeh oei oej oek oel oem oen oeo oep oeq oer oes oet oeu oev oew oex oey oez ofa ofb ofc ofd ofe off ofg ofh ofi ofj ofk ofl ofm ofn ofo ofp ofq ofr ofs oft ofu ofv ofw ofx ofy ofz oga ogb ogc ogd oge ogf ogg ogh ogi ogj ogk ogl ogm ogn ogo ogp ogq ogr ogs ogt ogu ogv ogw ogx ogy ogz oha ohb ohc ohd ohe ohf ohg ohh ohi ohj ohk ohl ohm ohn oho ohp ohq ohr ohs oht ohu ohv ohw ohx ohy ohz oia oib oic oid oie oif oig oih oii oij oik oil oim oin oio oip oiq oir ois oit oiu oiv oiw oix oiy oiz oja ojb ojc ojd oje ojf ojg ojh oji ojj ojk ojl ojm ojn ojo ojp ojq ojr ojs ojt oju ojv ojw ojx ojy ojz oka okb okc okd oke okf okg okh oki okj okk okl okm okn oko okp okq okr oks okt oku okv okw okx oky okz ola olb olc old ole olf olg olh oli olj olk oll olm oln olo olp olq olr ols olt olu olv olw olx oly olz oma omb omc omd ome omf omg omh omi omj omk oml omm omn omo omp omq omr oms omt omu omv omw omx omy omz ona onb onc ond one onf ong onh oni onj onk onl onm onn ono onp onq onr ons ont onu onv onw onx ony onz ooa oob ooc ood ooe oof oog ooh ooi ooj ook ool oom oon ooo oop ooq oor oos oot oou oov oow oox ooy ooz opa opb opc opd ope opf opg oph opi opj opk opl opm opn opo opp opq opr ops opt opu opv opw opx opy opz oqa oqb oqc oqd oqe oqf oqg oqh oqi oqj oqk oql oqm oqn oqo oqp oqq oqr oqs oqt oqu oqv oqw oqx oqy oqz ora orb orc ord ore orf org orh ori orj ork orl orm orn oro orp orq orr ors ort oru orv orw orx ory orz osa osb osc osd ose osf osg osh osi osj osk osl osm osn oso osp osq osr oss ost osu osv osw osx osy osz ota otb otc otd ote otf otg oth oti otj otk otl otm otn oto otp otq otr ots ott otu otv otw otx oty otz oua oub ouc oud oue ouf oug ouh oui ouj ouk oul oum oun ouo oupsifter.js-0.5.3/benchmark/searches_4letter.txt000066400000000000000000001415171321014527000213650ustar00rootroot00000000000000aaaa aaab aaac aaad aaae aaaf aaag aaah aaai aaaj aaak aaal aaam aaan aaao aaap aaaq aaar aaas aaat aaau aaav aaaw aaax aaay aaaz aaba aabb aabc aabd aabe aabf aabg aabh aabi aabj aabk aabl aabm aabn aabo aabp aabq aabr aabs aabt aabu aabv aabw aabx aaby aabz aaca aacb aacc aacd aace aacf aacg aach aaci aacj aack aacl aacm aacn aaco aacp aacq aacr aacs aact aacu aacv aacw aacx aacy aacz aada aadb aadc aadd aade aadf aadg aadh aadi aadj aadk aadl aadm aadn aado aadp aadq aadr aads aadt aadu aadv aadw aadx aady aadz aaea aaeb aaec aaed aaee aaef aaeg aaeh aaei aaej aaek aael aaem aaen aaeo aaep aaeq aaer aaes aaet aaeu aaev aaew aaex aaey aaez aafa aafb aafc aafd aafe aaff aafg aafh aafi aafj aafk aafl aafm aafn aafo aafp aafq aafr aafs aaft aafu aafv aafw aafx aafy aafz aaga aagb aagc aagd aage aagf aagg aagh aagi aagj aagk aagl aagm aagn aago aagp aagq aagr aags aagt aagu aagv aagw aagx aagy aagz aaha aahb aahc aahd aahe aahf aahg aahh aahi aahj aahk aahl aahm aahn aaho aahp aahq aahr aahs aaht aahu aahv aahw aahx aahy aahz aaia aaib aaic aaid aaie aaif aaig aaih aaii aaij aaik aail aaim aain aaio aaip aaiq aair aais aait aaiu aaiv aaiw aaix aaiy aaiz aaja aajb aajc aajd aaje aajf aajg aajh aaji aajj aajk aajl aajm aajn aajo aajp aajq aajr aajs aajt aaju aajv aajw aajx aajy aajz aaka aakb aakc aakd aake aakf aakg aakh aaki aakj aakk aakl aakm aakn aako aakp aakq aakr aaks aakt aaku aakv aakw aakx aaky aakz aala aalb aalc aald aale aalf aalg aalh aali aalj aalk aall aalm aaln aalo aalp aalq aalr aals aalt aalu aalv aalw aalx aaly aalz aama aamb aamc aamd aame aamf aamg aamh aami aamj aamk aaml aamm aamn aamo aamp aamq aamr aams aamt aamu aamv aamw aamx aamy aamz aana aanb aanc aand aane aanf aang aanh aani aanj aank aanl aanm aann aano aanp aanq aanr aans aant aanu aanv aanw aanx aany aanz aaoa aaob aaoc aaod aaoe aaof aaog aaoh aaoi aaoj aaok aaol aaom aaon aaoo aaop aaoq aaor aaos aaot aaou aaov aaow aaox aaoy aaoz aapa aapb aapc aapd aape aapf aapg aaph aapi aapj aapk aapl aapm aapn aapo aapp aapq aapr aaps aapt aapu aapv aapw aapx aapy aapz aaqa aaqb aaqc aaqd aaqe aaqf aaqg aaqh aaqi aaqj aaqk aaql aaqm aaqn aaqo aaqp aaqq aaqr aaqs aaqt aaqu aaqv aaqw aaqx aaqy aaqz aara aarb aarc aard aare aarf aarg aarh aari aarj aark aarl aarm aarn aaro aarp aarq aarr aars aart aaru aarv aarw aarx aary aarz aasa aasb aasc aasd aase aasf aasg aash aasi aasj aask aasl aasm aasn aaso aasp aasq aasr aass aast aasu aasv aasw aasx aasy aasz aata aatb aatc aatd aate aatf aatg aath aati aatj aatk aatl aatm aatn aato aatp aatq aatr aats aatt aatu aatv aatw aatx aaty aatz aaua aaub aauc aaud aaue aauf aaug aauh aaui aauj aauk aaul aaum aaun aauo aaup aauq aaur aaus aaut aauu aauv aauw aaux aauy aauz aava aavb aavc aavd aave aavf aavg aavh aavi aavj aavk aavl aavm aavn aavo aavp aavq aavr aavs aavt aavu aavv aavw aavx aavy aavz aawa aawb aawc aawd aawe aawf aawg aawh aawi aawj aawk aawl aawm aawn aawo aawp aawq aawr aaws aawt aawu aawv aaww aawx aawy aawz aaxa aaxb aaxc aaxd aaxe aaxf aaxg aaxh aaxi aaxj aaxk aaxl aaxm aaxn aaxo aaxp aaxq aaxr aaxs aaxt aaxu aaxv aaxw aaxx aaxy aaxz aaya aayb aayc aayd aaye aayf aayg aayh aayi aayj aayk aayl aaym aayn aayo aayp aayq aayr aays aayt aayu aayv aayw aayx aayy aayz aaza aazb aazc aazd aaze aazf aazg aazh aazi aazj aazk aazl aazm aazn aazo aazp aazq aazr aazs aazt aazu aazv aazw aazx aazy aazz abaa abab abac abad abae abaf abag abah abai abaj abak abal abam aban abao abap abaq abar abas abat abau abav abaw abax abay abaz abba abbb abbc abbd abbe abbf abbg abbh abbi abbj abbk abbl abbm abbn abbo abbp abbq abbr abbs abbt abbu abbv abbw abbx abby abbz abca abcb abcc abcd abce abcf abcg abch abci abcj abck abcl abcm abcn abco abcp abcq abcr abcs abct abcu abcv abcw abcx abcy abcz abda abdb abdc abdd abde abdf abdg abdh abdi abdj abdk abdl abdm abdn abdo abdp abdq abdr abds abdt abdu abdv abdw abdx abdy abdz abea abeb abec abed abee abef abeg abeh abei abej abek abel abem aben abeo abep abeq aber abes abet abeu abev abew abex abey abez abfa abfb abfc abfd abfe abff abfg abfh abfi abfj abfk abfl abfm abfn abfo abfp abfq abfr abfs abft abfu abfv abfw abfx abfy abfz abga abgb abgc abgd abge abgf abgg abgh abgi abgj abgk abgl abgm abgn abgo abgp abgq abgr abgs abgt abgu abgv abgw abgx abgy abgz abha abhb abhc abhd abhe abhf abhg abhh abhi abhj abhk abhl abhm abhn abho abhp abhq abhr abhs abht abhu abhv abhw abhx abhy abhz abia abib abic abid abie abif abig abih abii abij abik abil abim abin abio abip abiq abir abis abit abiu abiv abiw abix abiy abiz abja abjb abjc abjd abje abjf abjg abjh abji abjj abjk abjl abjm abjn abjo abjp abjq abjr abjs abjt abju abjv abjw abjx abjy abjz abka abkb abkc abkd abke abkf abkg abkh abki abkj abkk abkl abkm abkn abko abkp abkq abkr abks abkt abku abkv abkw abkx abky abkz abla ablb ablc abld able ablf ablg ablh abli ablj ablk abll ablm abln ablo ablp ablq ablr abls ablt ablu ablv ablw ablx ably ablz abma abmb abmc abmd abme abmf abmg abmh abmi abmj abmk abml abmm abmn abmo abmp abmq abmr abms abmt abmu abmv abmw abmx abmy abmz abna abnb abnc abnd abne abnf abng abnh abni abnj abnk abnl abnm abnn abno abnp abnq abnr abns abnt abnu abnv abnw abnx abny abnz aboa abob aboc abod aboe abof abog aboh aboi aboj abok abol abom abon aboo abop aboq abor abos abot abou abov abow abox aboy aboz abpa abpb abpc abpd abpe abpf abpg abph abpi abpj abpk abpl abpm abpn abpo abpp abpq abpr abps abpt abpu abpv abpw abpx abpy abpz abqa abqb abqc abqd abqe abqf abqg abqh abqi abqj abqk abql abqm abqn abqo abqp abqq abqr abqs abqt abqu abqv abqw abqx abqy abqz abra abrb abrc abrd abre abrf abrg abrh abri abrj abrk abrl abrm abrn abro abrp abrq abrr abrs abrt abru abrv abrw abrx abry abrz absa absb absc absd abse absf absg absh absi absj absk absl absm absn abso absp absq absr abss abst absu absv absw absx absy absz abta abtb abtc abtd abte abtf abtg abth abti abtj abtk abtl abtm abtn abto abtp abtq abtr abts abtt abtu abtv abtw abtx abty abtz abua abub abuc abud abue abuf abug abuh abui abuj abuk abul abum abun abuo abup abuq abur abus abut abuu abuv abuw abux abuy abuz abva abvb abvc abvd abve abvf abvg abvh abvi abvj abvk abvl abvm abvn abvo abvp abvq abvr abvs abvt abvu abvv abvw abvx abvy abvz abwa abwb abwc abwd abwe abwf abwg abwh abwi abwj abwk abwl abwm abwn abwo abwp abwq abwr abws abwt abwu abwv abww abwx abwy abwz abxa abxb abxc abxd abxe abxf abxg abxh abxi abxj abxk abxl abxm abxn abxo abxp abxq abxr abxs abxt abxu abxv abxw abxx abxy abxz abya abyb abyc abyd abye abyf abyg abyh abyi abyj abyk abyl abym abyn abyo abyp abyq abyr abys abyt abyu abyv abyw abyx abyy abyz abza abzb abzc abzd abze abzf abzg abzh abzi abzj abzk abzl abzm abzn abzo abzp abzq abzr abzs abzt abzu abzv abzw abzx abzy abzz acaa acab acac acad acae acaf acag acah acai acaj acak acal acam acan acao acap acaq acar acas acat acau acav acaw acax acay acaz acba acbb acbc acbd acbe acbf acbg acbh acbi acbj acbk acbl acbm acbn acbo acbp acbq acbr acbs acbt acbu acbv acbw acbx acby acbz acca accb accc accd acce accf accg acch acci accj acck accl accm accn acco accp accq accr accs acct accu accv accw accx accy accz acda acdb acdc acdd acde acdf acdg acdh acdi acdj acdk acdl acdm acdn acdo acdp acdq acdr acds acdt acdu acdv acdw acdx acdy acdz acea aceb acec aced acee acef aceg aceh acei acej acek acel acem acen aceo acep aceq acer aces acet aceu acev acew acex acey acez acfa acfb acfc acfd acfe acff acfg acfh acfi acfj acfk acfl acfm acfn acfo acfp acfq acfr acfs acft acfu acfv acfw acfx acfy acfz acga acgb acgc acgd acge acgf acgg acgh acgi acgj acgk acgl acgm acgn acgo acgp acgq acgr acgs acgt acgu acgv acgw acgx acgy acgz acha achb achc achd ache achf achg achh achi achj achk achl achm achn acho achp achq achr achs acht achu achv achw achx achy achz acia acib acic acid acie acif acig acih acii acij acik acil acim acin acio acip aciq acir acis acit aciu aciv aciw acix aciy aciz acja acjb acjc acjd acje acjf acjg acjh acji acjj acjk acjl acjm acjn acjo acjp acjq acjr acjs acjt acju acjv acjw acjx acjy acjz acka ackb ackc ackd acke ackf ackg ackh acki ackj ackk ackl ackm ackn acko ackp ackq ackr acks ackt acku ackv ackw ackx acky ackz acla aclb aclc acld acle aclf aclg aclh acli aclj aclk acll aclm acln aclo aclp aclq aclr acls aclt aclu aclv aclw aclx acly aclz acma acmb acmc acmd acme acmf acmg acmh acmi acmj acmk acml acmm acmn acmo acmp acmq acmr acms acmt acmu acmv acmw acmx acmy acmz acna acnb acnc acnd acne acnf acng acnh acni acnj acnk acnl acnm acnn acno acnp acnq acnr acns acnt acnu acnv acnw acnx acny acnz acoa acob acoc acod acoe acof acog acoh acoi acoj acok acol acom acon acoo acop acoq acor acos acot acou acov acow acox acoy acoz acpa acpb acpc acpd acpe acpf acpg acph acpi acpj acpk acpl acpm acpn acpo acpp acpq acpr acps acpt acpu acpv acpw acpx acpy acpz acqa acqb acqc acqd acqe acqf acqg acqh acqi acqj acqk acql acqm acqn acqo acqp acqq acqr acqs acqt acqu acqv acqw acqx acqy acqz acra acrb acrc acrd acre acrf acrg acrh acri acrj acrk acrl acrm acrn acro acrp acrq acrr acrs acrt acru acrv acrw acrx acry acrz acsa acsb acsc acsd acse acsf acsg acsh acsi acsj acsk acsl acsm acsn acso acsp acsq acsr acss acst acsu acsv acsw acsx acsy acsz acta actb actc actd acte actf actg acth acti actj actk actl actm actn acto actp actq actr acts actt actu actv actw actx acty actz acua acub acuc acud acue acuf acug acuh acui acuj acuk acul acum acun acuo acup acuq acur acus acut acuu acuv acuw acux acuy acuz acva acvb acvc acvd acve acvf acvg acvh acvi acvj acvk acvl acvm acvn acvo acvp acvq acvr acvs acvt acvu acvv acvw acvx acvy acvz acwa acwb acwc acwd acwe acwf acwg acwh acwi acwj acwk acwl acwm acwn acwo acwp acwq acwr acws acwt acwu acwv acww acwx acwy acwz acxa acxb acxc acxd acxe acxf acxg acxh acxi acxj acxk acxl acxm acxn acxo acxp acxq acxr acxs acxt acxu acxv acxw acxx acxy acxz acya acyb acyc acyd acye acyf acyg acyh acyi acyj acyk acyl acym acyn acyo acyp acyq acyr acys acyt acyu acyv acyw acyx acyy acyz acza aczb aczc aczd acze aczf aczg aczh aczi aczj aczk aczl aczm aczn aczo aczp aczq aczr aczs aczt aczu aczv aczw aczx aczy aczz adaa adab adac adad adae adaf adag adah adai adaj adak adal adam adan adao adap adaq adar adas adat adau adav adaw adax aday adaz adba adbb adbc adbd adbe adbf adbg adbh adbi adbj adbk adbl adbm adbn adbo adbp adbq adbr adbs adbt adbu adbv adbw adbx adby adbz adca adcb adcc adcd adce adcf adcg adch adci adcj adck adcl adcm adcn adco adcp adcq adcr adcs adct adcu adcv adcw adcx adcy adcz adda addb addc addd adde addf addg addh addi addj addk addl addm addn addo addp addq addr adds addt addu addv addw addx addy addz adea adeb adec aded adee adef adeg adeh adei adej adek adel adem aden adeo adep adeq ader ades adet adeu adev adew adex adey adez adfa adfb adfc adfd adfe adff adfg adfh adfi adfj adfk adfl adfm adfn adfo adfp adfq adfr adfs adft adfu adfv adfw adfx adfy adfz adga adgb adgc adgd adge adgf adgg adgh adgi adgj adgk adgl adgm adgn adgo adgp adgq adgr adgs adgt adgu adgv adgw adgx adgy adgz adha adhb adhc adhd adhe adhf adhg adhh adhi adhj adhk adhl adhm adhn adho adhp adhq adhr adhs adht adhu adhv adhw adhx adhy adhz adia adib adic adid adie adif adig adih adii adij adik adil adim adin adio adip adiq adir adis adit adiu adiv adiw adix adiy adiz adja adjb adjc adjd adje adjf adjg adjh adji adjj adjk adjl adjm adjn adjo adjp adjq adjr adjs adjt adju adjv adjw adjx adjy adjz adka adkb adkc adkd adke adkf adkg adkh adki adkj adkk adkl adkm adkn adko adkp adkq adkr adks adkt adku adkv adkw adkx adky adkz adla adlb adlc adld adle adlf adlg adlh adli adlj adlk adll adlm adln adlo adlp adlq adlr adls adlt adlu adlv adlw adlx adly adlz adma admb admc admd adme admf admg admh admi admj admk adml admm admn admo admp admq admr adms admt admu admv admw admx admy admz adna adnb adnc adnd adne adnf adng adnh adni adnj adnk adnl adnm adnn adno adnp adnq adnr adns adnt adnu adnv adnw adnx adny adnz adoa adob adoc adod adoe adof adog adoh adoi adoj adok adol adom adon adoo adop adoq ador ados adot adou adov adow adox adoy adoz adpa adpb adpc adpd adpe adpf adpg adph adpi adpj adpk adpl adpm adpn adpo adpp adpq adpr adps adpt adpu adpv adpw adpx adpy adpz adqa adqb adqc adqd adqe adqf adqg adqh adqi adqj adqk adql adqm adqn adqo adqp adqq adqr adqs adqt adqu adqv adqw adqx adqy adqz adra adrb adrc adrd adre adrf adrg adrh adri adrj adrk adrl adrm adrn adro adrp adrq adrr adrs adrt adru adrv adrw adrx adry adrz adsa adsb adsc adsd adse adsf adsg adsh adsi adsj adsk adsl adsm adsn adso adsp adsq adsr adss adst adsu adsv adsw adsx adsy adsz adta adtb adtc adtd adte adtf adtg adth adti adtj adtk adtl adtm adtn adto adtp adtq adtr adts adtt adtu adtv adtw adtx adty adtz adua adub aduc adud adue aduf adug aduh adui aduj aduk adul adum adun aduo adup aduq adur adus adut aduu aduv aduw adux aduy aduz adva advb advc advd adve advf advg advh advi advj advk advl advm advn advo advp advq advr advs advt advu advv advw advx advy advz adwa adwb adwc adwd adwe adwf adwg adwh adwi adwj adwk adwl adwm adwn adwo adwp adwq adwr adws adwt adwu adwv adww adwx adwy adwz adxa adxb adxc adxd adxe adxf adxg adxh adxi adxj adxk adxl adxm adxn adxo adxp adxq adxr adxs adxt adxu adxv adxw adxx adxy adxz adya adyb adyc adyd adye adyf adyg adyh adyi adyj adyk adyl adym adyn adyo adyp adyq adyr adys adyt adyu adyv adyw adyx adyy adyz adza adzb adzc adzd adze adzf adzg adzh adzi adzj adzk adzl adzm adzn adzo adzp adzq adzr adzs adzt adzu adzv adzw adzx adzy adzz aeaa aeab aeac aead aeae aeaf aeag aeah aeai aeaj aeak aeal aeam aean aeao aeap aeaq aear aeas aeat aeau aeav aeaw aeax aeay aeaz aeba aebb aebc aebd aebe aebf aebg aebh aebi aebj aebk aebl aebm aebn aebo aebp aebq aebr aebs aebt aebu aebv aebw aebx aeby aebz aeca aecb aecc aecd aece aecf aecg aech aeci aecj aeck aecl aecm aecn aeco aecp aecq aecr aecs aect aecu aecv aecw aecx aecy aecz aeda aedb aedc aedd aede aedf aedg aedh aedi aedj aedk aedl aedm aedn aedo aedp aedq aedr aeds aedt aedu aedv aedw aedx aedy aedz aeea aeeb aeec aeed aeee aeef aeeg aeeh aeei aeej aeek aeel aeem aeen aeeo aeep aeeq aeer aees aeet aeeu aeev aeew aeex aeey aeez aefa aefb aefc aefd aefe aeff aefg aefh aefi aefj aefk aefl aefm aefn aefo aefp aefq aefr aefs aeft aefu aefv aefw aefx aefy aefz aega aegb aegc aegd aege aegf aegg aegh aegi aegj aegk aegl aegm aegn aego aegp aegq aegr aegs aegt aegu aegv aegw aegx aegy aegz aeha aehb aehc aehd aehe aehf aehg aehh aehi aehj aehk aehl aehm aehn aeho aehp aehq aehr aehs aeht aehu aehv aehw aehx aehy aehz aeia aeib aeic aeid aeie aeif aeig aeih aeii aeij aeik aeil aeim aein aeio aeip aeiq aeir aeis aeit aeiu aeiv aeiw aeix aeiy aeiz aeja aejb aejc aejd aeje aejf aejg aejh aeji aejj aejk aejl aejm aejn aejo aejp aejq aejr aejs aejt aeju aejv aejw aejx aejy aejz aeka aekb aekc aekd aeke aekf aekg aekh aeki aekj aekk aekl aekm aekn aeko aekp aekq aekr aeks aekt aeku aekv aekw aekx aeky aekz aela aelb aelc aeld aele aelf aelg aelh aeli aelj aelk aell aelm aeln aelo aelp aelq aelr aels aelt aelu aelv aelw aelx aely aelz aema aemb aemc aemd aeme aemf aemg aemh aemi aemj aemk aeml aemm aemn aemo aemp aemq aemr aems aemt aemu aemv aemw aemx aemy aemz aena aenb aenc aend aene aenf aeng aenh aeni aenj aenk aenl aenm aenn aeno aenp aenq aenr aens aent aenu aenv aenw aenx aeny aenz aeoa aeob aeoc aeod aeoe aeof aeog aeoh aeoi aeoj aeok aeol aeom aeon aeoo aeop aeoq aeor aeos aeot aeou aeov aeow aeox aeoy aeoz aepa aepb aepc aepd aepe aepf aepg aeph aepi aepj aepk aepl aepm aepn aepo aepp aepq aepr aeps aept aepu aepv aepw aepx aepy aepz aeqa aeqb aeqc aeqd aeqe aeqf aeqg aeqh aeqi aeqj aeqk aeql aeqm aeqn aeqo aeqp aeqq aeqr aeqs aeqt aequ aeqv aeqw aeqx aeqy aeqz aera aerb aerc aerd aere aerf aerg aerh aeri aerj aerk aerl aerm aern aero aerp aerq aerr aers aert aeru aerv aerw aerx aery aerz aesa aesb aesc aesd aese aesf aesg aesh aesi aesj aesk aesl aesm aesn aeso aesp aesq aesr aess aest aesu aesv aesw aesx aesy aesz aeta aetb aetc aetd aete aetf aetg aeth aeti aetj aetk aetl aetm aetn aeto aetp aetq aetr aets aett aetu aetv aetw aetx aety aetz aeua aeub aeuc aeud aeue aeuf aeug aeuh aeui aeuj aeuk aeul aeum aeun aeuo aeup aeuq aeur aeus aeut aeuu aeuv aeuw aeux aeuy aeuz aeva aevb aevc aevd aeve aevf aevg aevh aevi aevj aevk aevl aevm aevn aevo aevp aevq aevr aevs aevt aevu aevv aevw aevx aevy aevz aewa aewb aewc aewd aewe aewf aewg aewh aewi aewj aewk aewl aewm aewn aewo aewp aewq aewr aews aewt aewu aewv aeww aewx aewy aewz aexa aexb aexc aexd aexe aexf aexg aexh aexi aexj aexk aexl aexm aexn aexo aexp aexq aexr aexs aext aexu aexv aexw aexx aexy aexz aeya aeyb aeyc aeyd aeye aeyf aeyg aeyh aeyi aeyj aeyk aeyl aeym aeyn aeyo aeyp aeyq aeyr aeys aeyt aeyu aeyv aeyw aeyx aeyy aeyz aeza aezb aezc aezd aeze aezf aezg aezh aezi aezj aezk aezl aezm aezn aezo aezp aezq aezr aezs aezt aezu aezv aezw aezx aezy aezz afaa afab afac afad afae afaf afag afah afai afaj afak afal afam afan afao afap afaq afar afas afat afau afav afaw afax afay afaz afba afbb afbc afbd afbe afbf afbg afbh afbi afbj afbk afbl afbm afbn afbo afbp afbq afbr afbs afbt afbu afbv afbw afbx afby afbz afca afcb afcc afcd afce afcf afcg afch afci afcj afck afcl afcm afcn afco afcp afcq afcr afcs afct afcu afcv afcw afcx afcy afcz afda afdb afdc afdd afde afdf afdg afdh afdi afdj afdk afdl afdm afdn afdo afdp afdq afdr afds afdt afdu afdv afdw afdx afdy afdz afea afeb afec afed afee afef afeg afeh afei afej afek afel afem afen afeo afep afeq afer afes afet afeu afev afew afex afey afez affa affb affc affd affe afff affg affh affi affj affk affl affm affn affo affp affq affr affs afft affu affv affw affx affy affz afga afgb afgc afgd afge afgf afgg afgh afgi afgj afgk afgl afgm afgn afgo afgp afgq afgr afgs afgt afgu afgv afgw afgx afgy afgz afha afhb afhc afhd afhe afhf afhg afhh afhi afhj afhk afhl afhm afhn afho afhp afhq afhr afhs afht afhu afhv afhw afhx afhy afhz afia afib afic afid afie afif afig afih afii afij afik afil afim afin afio afip afiq afir afis afit afiu afiv afiw afix afiy afiz afja afjb afjc afjd afje afjf afjg afjh afji afjj afjk afjl afjm afjn afjo afjp afjq afjr afjs afjt afju afjv afjw afjx afjy afjz afka afkb afkc afkd afke afkf afkg afkh afki afkj afkk afkl afkm afkn afko afkp afkq afkr afks afkt afku afkv afkw afkx afky afkz afla aflb aflc afld afle aflf aflg aflh afli aflj aflk afll aflm afln aflo aflp aflq aflr afls aflt aflu aflv aflw aflx afly aflz afma afmb afmc afmd afme afmf afmg afmh afmi afmj afmk afml afmm afmn afmo afmp afmq afmr afms afmt afmu afmv afmw afmx afmy afmz afna afnb afnc afnd afne afnf afng afnh afni afnj afnk afnl afnm afnn afno afnp afnq afnr afns afnt afnu afnv afnw afnx afny afnz afoa afob afoc afod afoe afof afog afoh afoi afoj afok afol afom afon afoo afop afoq afor afos afot afou afov afow afox afoy afoz afpa afpb afpc afpd afpe afpf afpg afph afpi afpj afpk afpl afpm afpn afpo afpp afpq afpr afps afpt afpu afpv afpw afpx afpy afpz afqa afqb afqc afqd afqe afqf afqg afqh afqi afqj afqk afql afqm afqn afqo afqp afqq afqr afqs afqt afqu afqv afqw afqx afqy afqz afra afrb afrc afrd afre afrf afrg afrh afri afrj afrk afrl afrm afrn afro afrp afrq afrr afrs afrt afru afrv afrw afrx afry afrz afsa afsb afsc afsd afse afsf afsg afsh afsi afsj afsk afsl afsm afsn afso afsp afsq afsr afss afst afsu afsv afsw afsx afsy afsz afta aftb aftc aftd afte aftf aftg afth afti aftj aftk aftl aftm aftn afto aftp aftq aftr afts aftt aftu aftv aftw aftx afty aftz afua afub afuc afud afue afuf afug afuh afui afuj afuk aful afum afun afuo afup afuq afur afus afut afuu afuv afuw afux afuy afuz afva afvb afvc afvd afve afvf afvg afvh afvi afvj afvk afvl afvm afvn afvo afvp afvq afvr afvs afvt afvu afvv afvw afvx afvy afvz afwa afwb afwc afwd afwe afwf afwg afwh afwi afwj afwk afwl afwm afwn afwo afwp afwq afwr afws afwt afwu afwv afww afwx afwy afwz afxa afxb afxc afxd afxe afxf afxg afxh afxi afxj afxk afxl afxm afxn afxo afxp afxq afxr afxs afxt afxu afxv afxw afxx afxy afxz afya afyb afyc afyd afye afyf afyg afyh afyi afyj afyk afyl afym afyn afyo afyp afyq afyr afys afyt afyu afyv afyw afyx afyy afyz afza afzb afzc afzd afze afzf afzg afzh afzi afzj afzk afzl afzm afzn afzo afzp afzq afzr afzs afzt afzu afzv afzw afzx afzy afzz agaa agab agac agad agae agaf agag agah agai agaj agak agal agam agan agao agap agaq agar agas agat agau agav agaw agax agay agaz agba agbb agbc agbd agbe agbf agbg agbh agbi agbj agbk agbl agbm agbn agbo agbp agbq agbr agbs agbt agbu agbv agbw agbx agby agbz agca agcb agcc agcd agce agcf agcg agch agci agcj agck agcl agcm agcn agco agcp agcq agcr agcs agct agcu agcv agcw agcx agcy agcz agda agdb agdc agdd agde agdf agdg agdh agdi agdj agdk agdl agdm agdn agdo agdp agdq agdr agds agdt agdu agdv agdw agdx agdy agdz agea ageb agec aged agee agef ageg ageh agei agej agek agel agem agen ageo agep ageq ager ages aget ageu agev agew agex agey agez agfa agfb agfc agfd agfe agff agfg agfh agfi agfj agfk agfl agfm agfn agfo agfp agfq agfr agfs agft agfu agfv agfw agfx agfy agfz agga aggb aggc aggd agge aggf aggg aggh aggi aggj aggk aggl aggm aggn aggo aggp aggq aggr aggs aggt aggu aggv aggw aggx aggy aggz agha aghb aghc aghd aghe aghf aghg aghh aghi aghj aghk aghl aghm aghn agho aghp aghq aghr aghs aght aghu aghv aghw aghx aghy aghz agia agib agic agid agie agif agig agih agii agij agik agil agim agin agio agip agiq agir agis agit agiu agiv agiw agix agiy agiz agja agjb agjc agjd agje agjf agjg agjh agji agjj agjk agjl agjm agjn agjo agjp agjq agjr agjs agjt agju agjv agjw agjx agjy agjz agka agkb agkc agkd agke agkf agkg agkh agki agkj agkk agkl agkm agkn agko agkp agkq agkr agks agkt agku agkv agkw agkx agky agkz agla aglb aglc agld agle aglf aglg aglh agli aglj aglk agll aglm agln aglo aglp aglq aglr agls aglt aglu aglv aglw aglx agly aglz agma agmb agmc agmd agme agmf agmg agmh agmi agmj agmk agml agmm agmn agmo agmp agmq agmr agms agmt agmu agmv agmw agmx agmy agmz agna agnb agnc agnd agne agnf agng agnh agni agnj agnk agnl agnm agnn agno agnp agnq agnr agns agnt agnu agnv agnw agnx agny agnz agoa agob agoc agod agoe agof agog agoh agoi agoj agok agol agom agon agoo agop agoq agor agos agot agou agov agow agox agoy agoz agpa agpb agpc agpd agpe agpf agpg agph agpi agpj agpk agpl agpm agpn agpo agpp agpq agpr agps agpt agpu agpv agpw agpx agpy agpz agqa agqb agqc agqd agqe agqf agqg agqh agqi agqj agqk agql agqm agqn agqo agqp agqq agqr agqs agqt agqu agqv agqw agqx agqy agqz agra agrb agrc agrd agre agrf agrg agrh agri agrj agrk agrl agrm agrn agro agrp agrq agrr agrs agrt agru agrv agrw agrx agry agrz agsa agsb agsc agsd agse agsf agsg agsh agsi agsj agsk agsl agsm agsn agso agsp agsq agsr agss agst agsu agsv agsw agsx agsy agsz agta agtb agtc agtd agte agtf agtg agth agti agtj agtk agtl agtm agtn agto agtp agtq agtr agts agtt agtu agtv agtw agtx agty agtz agua agub aguc agud ague aguf agug aguh agui aguj aguk agul agum agun aguo agup aguq agur agus agut aguu aguv aguw agux aguy aguz agva agvb agvc agvd agve agvf agvg agvh agvi agvj agvk agvl agvm agvn agvo agvp agvq agvr agvs agvt agvu agvv agvw agvx agvy agvz agwa agwb agwc agwd agwe agwf agwg agwh agwi agwj agwk agwl agwm agwn agwo agwp agwq agwr agws agwt agwu agwv agww agwx agwy agwz agxa agxb agxc agxd agxe agxf agxg agxh agxi agxj agxk agxl agxm agxn agxo agxp agxq agxr agxs agxt agxu agxv agxw agxx agxy agxz agya agyb agyc agyd agye agyf agyg agyh agyi agyj agyk agyl agym agyn agyo agyp agyq agyr agys agyt agyu agyv agyw agyx agyy agyz agza agzb agzc agzd agze agzf agzg agzh agzi agzj agzk agzl agzm agzn agzo agzp agzq agzr agzs agzt agzu agzv agzw agzx agzy agzz ahaa ahab ahac ahad ahae ahaf ahag ahah ahai ahaj ahak ahal aham ahan ahao ahap ahaq ahar ahas ahat ahau ahav ahaw ahax ahay ahaz ahba ahbb ahbc ahbd ahbe ahbf ahbg ahbh ahbi ahbj ahbk ahbl ahbm ahbn ahbo ahbp ahbq ahbr ahbs ahbt ahbu ahbv ahbw ahbx ahby ahbz ahca ahcb ahcc ahcd ahce ahcf ahcg ahch ahci ahcj ahck ahcl ahcm ahcn ahco ahcp ahcq ahcr ahcs ahct ahcu ahcv ahcw ahcx ahcy ahcz ahda ahdb ahdc ahdd ahde ahdf ahdg ahdh ahdi ahdj ahdk ahdl ahdm ahdn ahdo ahdp ahdq ahdr ahds ahdt ahdu ahdv ahdw ahdx ahdy ahdz ahea aheb ahec ahed ahee ahef aheg aheh ahei ahej ahek ahel ahem ahen aheo ahep aheq aher ahes ahet aheu ahev ahew ahex ahey ahez ahfa ahfb ahfc ahfd ahfe ahff ahfg ahfh ahfi ahfj ahfk ahfl ahfm ahfn ahfo ahfp ahfq ahfr ahfs ahft ahfu ahfv ahfw ahfx ahfy ahfz ahga ahgb ahgc ahgd ahge ahgf ahgg ahgh ahgi ahgj ahgk ahgl ahgm ahgn ahgo ahgp ahgq ahgr ahgs ahgt ahgu ahgv ahgw ahgx ahgy ahgz ahha ahhb ahhc ahhd ahhe ahhf ahhg ahhh ahhi ahhj ahhk ahhl ahhm ahhn ahho ahhp ahhq ahhr ahhs ahht ahhu ahhv ahhw ahhx ahhy ahhz ahia ahib ahic ahid ahie ahif ahig ahih ahii ahij ahik ahil ahim ahin ahio ahip ahiq ahir ahis ahit ahiu ahiv ahiw ahix ahiy ahiz ahja ahjb ahjc ahjd ahje ahjf ahjg ahjh ahji ahjj ahjk ahjl ahjm ahjn ahjo ahjp ahjq ahjr ahjs ahjt ahju ahjv ahjw ahjx ahjy ahjz ahka ahkb ahkc ahkd ahke ahkf ahkg ahkh ahki ahkj ahkk ahkl ahkm ahkn ahko ahkp ahkq ahkr ahks ahkt ahku ahkv ahkw ahkx ahky ahkz ahla ahlb ahlc ahld ahle ahlf ahlg ahlh ahli ahlj ahlk ahll ahlm ahln ahlo ahlp ahlq ahlr ahls ahlt ahlu ahlv ahlw ahlx ahly ahlz ahma ahmb ahmc ahmd ahme ahmf ahmg ahmh ahmi ahmj ahmk ahml ahmm ahmn ahmo ahmp ahmq ahmr ahms ahmt ahmu ahmv ahmw ahmx ahmy ahmz ahna ahnb ahnc ahnd ahne ahnf ahng ahnh ahni ahnj ahnk ahnl ahnm ahnn ahno ahnp ahnq ahnr ahns ahnt ahnu ahnv ahnw ahnx ahny ahnz ahoa ahob ahoc ahod ahoe ahof ahog ahoh ahoi ahoj ahok ahol ahom ahon ahoo ahop ahoq ahor ahos ahot ahou ahov ahow ahox ahoy ahoz ahpa ahpb ahpc ahpd ahpe ahpf ahpg ahph ahpi ahpj ahpk ahpl ahpm ahpn ahpo ahpp ahpq ahpr ahps ahpt ahpu ahpv ahpw ahpx ahpy ahpz ahqa ahqb ahqc ahqd ahqe ahqf ahqg ahqh ahqi ahqj ahqk ahql ahqm ahqn ahqo ahqp ahqq ahqr ahqs ahqt ahqu ahqv ahqw ahqx ahqy ahqz ahra ahrb ahrc ahrd ahre ahrf ahrg ahrh ahri ahrj ahrk ahrl ahrm ahrn ahro ahrp ahrq ahrr ahrs ahrt ahru ahrv ahrw ahrx ahry ahrz ahsa ahsb ahsc ahsd ahse ahsf ahsg ahsh ahsi ahsj ahsk ahsl ahsm ahsn ahso ahsp ahsq ahsr ahss ahst ahsu ahsv ahsw ahsx ahsy ahsz ahta ahtb ahtc ahtd ahte ahtf ahtg ahth ahti ahtj ahtk ahtl ahtm ahtn ahto ahtp ahtq ahtr ahts ahtt ahtu ahtv ahtw ahtx ahty ahtz ahua ahub ahuc ahud ahue ahuf ahug ahuh ahui ahuj ahuk ahul ahum ahun ahuo ahup ahuq ahur ahus ahut ahuu ahuv ahuw ahux ahuy ahuz ahva ahvb ahvc ahvd ahve ahvf ahvg ahvh ahvi ahvj ahvk ahvl ahvm ahvn ahvo ahvp ahvq ahvr ahvs ahvt ahvu ahvv ahvw ahvx ahvy ahvz ahwa ahwb ahwc ahwd ahwe ahwf ahwg ahwh ahwi ahwj ahwk ahwl ahwm ahwn ahwo ahwp ahwq ahwr ahws ahwt ahwu ahwv ahww ahwx ahwy ahwz ahxa ahxb ahxc ahxd ahxe ahxf ahxg ahxh ahxi ahxj ahxk ahxl ahxm ahxn ahxo ahxp ahxq ahxr ahxs ahxt ahxu ahxv ahxw ahxx ahxy ahxz ahya ahyb ahyc ahyd ahye ahyf ahyg ahyh ahyi ahyj ahyk ahyl ahym ahyn ahyo ahyp ahyq ahyr ahys ahyt ahyu ahyv ahyw ahyx ahyy ahyz ahza ahzb ahzc ahzd ahze ahzf ahzg ahzh ahzi ahzj ahzk ahzl ahzm ahzn ahzo ahzp ahzq ahzr ahzs ahzt ahzu ahzv ahzw ahzx ahzy ahzz aiaa aiab aiac aiad aiae aiaf aiag aiah aiai aiaj aiak aial aiam aian aiao aiap aiaq aiar aias aiat aiau aiav aiaw aiax aiay aiaz aiba aibb aibc aibd aibe aibf aibg aibh aibi aibj aibk aibl aibm aibn aibo aibp aibq aibr aibs aibt aibu aibv aibw aibx aiby aibz aica aicb aicc aicd aice aicf aicg aich aici aicj aick aicl aicm aicn aico aicp aicq aicr aics aict aicu aicv aicw aicx aicy aicz aida aidb aidc aidd aide aidf aidg aidh aidi aidj aidk aidl aidm aidn aido aidp aidq aidr aids aidt aidu aidv aidw aidx aidy aidz aiea aieb aiec aied aiee aief aieg aieh aiei aiej aiek aiel aiem aien aieo aiep aieq aier aies aiet aieu aiev aiew aiex aiey aiez aifa aifb aifc aifd aife aiff aifg aifh aifi aifj aifk aifl aifm aifn aifo aifp aifq aifr aifs aift aifu aifv aifw aifx aify aifz aiga aigb aigc aigd aige aigf aigg aigh aigi aigj aigk aigl aigm aign aigo aigp aigq aigr aigs aigt aigu aigv aigw aigx aigy aigz aiha aihb aihc aihd aihe aihf aihg aihh aihi aihj aihk aihl aihm aihn aiho aihp aihq aihr aihs aiht aihu aihv aihw aihx aihy aihz aiia aiib aiic aiid aiie aiif aiig aiih aiii aiij aiik aiil aiim aiin aiio aiip aiiq aiir aiis aiit aiiu aiiv aiiw aiix aiiy aiiz aija aijb aijc aijd aije aijf aijg aijh aiji aijj aijk aijl aijm aijn aijo aijp aijq aijr aijs aijt aiju aijv aijw aijx aijy aijz aika aikb aikc aikd aike aikf aikg aikh aiki aikj aikk aikl aikm aikn aiko aikp aikq aikr aiks aikt aiku aikv aikw aikx aiky aikz aila ailb ailc aild aile ailf ailg ailh aili ailj ailk aill ailm ailn ailo ailp ailq ailr ails ailt ailu ailv ailw ailx aily ailz aima aimb aimc aimd aime aimf aimg aimh aimi aimj aimk aiml aimm aimn aimo aimp aimq aimr aims aimt aimu aimv aimw aimx aimy aimz aina ainb ainc aind aine ainf aing ainh aini ainj aink ainl ainm ainn aino ainp ainq ainr ains aint ainu ainv ainw ainx ainy ainz aioa aiob aioc aiod aioe aiof aiog aioh aioi aioj aiok aiol aiom aion aioo aiop aioq aior aios aiot aiou aiov aiow aiox aioy aioz aipa aipb aipc aipd aipe aipf aipg aiph aipi aipj aipk aipl aipm aipn aipo aipp aipq aipr aips aipt aipu aipv aipw aipx aipy aipz aiqa aiqb aiqc aiqd aiqe aiqf aiqg aiqh aiqi aiqj aiqk aiql aiqm aiqn aiqo aiqp aiqq aiqr aiqs aiqt aiqu aiqv aiqw aiqx aiqy aiqz aira airb airc aird aire airf airg airh airi airj airk airl airm airn airo airp airq airr airs airt airu airv airw airx airy airz aisa aisb aisc aisd aise aisf aisg aish aisi aisj aisk aisl aism aisn aiso aisp aisq aisr aiss aist aisu aisv aisw aisx aisy aisz aita aitb aitc aitd aite aitf aitg aith aiti aitj aitk aitl aitm aitn aito aitp aitq aitr aits aitt aitu aitv aitw aitx aity aitz aiua aiub aiuc aiud aiue aiuf aiug aiuh aiui aiuj aiuk aiul aium aiun aiuo aiup aiuq aiur aius aiut aiuu aiuv aiuw aiux aiuy aiuz aiva aivb aivc aivd aive aivf aivg aivh aivi aivj aivk aivl aivm aivn aivo aivp aivq aivr aivs aivt aivu aivv aivw aivx aivy aivz aiwa aiwb aiwc aiwd aiwe aiwf aiwg aiwh aiwi aiwj aiwk aiwl aiwm aiwn aiwo aiwp aiwq aiwr aiws aiwt aiwu aiwv aiww aiwx aiwy aiwz aixa aixb aixc aixd aixe aixf aixg aixh aixi aixj aixk aixl aixm aixn aixo aixp aixq aixr aixs aixt aixu aixv aixw aixx aixy aixz aiya aiyb aiyc aiyd aiye aiyf aiyg aiyh aiyi aiyj aiyk aiyl aiym aiyn aiyo aiyp aiyq aiyr aiys aiyt aiyu aiyv aiyw aiyx aiyy aiyz aiza aizb aizc aizd aize aizf aizg aizh aizi aizj aizk aizl aizm aizn aizo aizp aizq aizr aizs aizt aizu aizv aizw aizx aizy aizz ajaa ajab ajac ajad ajae ajaf ajag ajah ajai ajaj ajak ajal ajam ajan ajao ajap ajaq ajar ajas ajat ajau ajav ajaw ajax ajay ajaz ajba ajbb ajbc ajbd ajbe ajbf ajbg ajbh ajbi ajbj ajbk ajbl ajbm ajbn ajbo ajbp ajbq ajbr ajbs ajbt ajbu ajbv ajbw ajbx ajby ajbz ajca ajcb ajcc ajcd ajce ajcf ajcg ajch ajci ajcj ajck ajcl ajcm ajcn ajco ajcp ajcq ajcr ajcs ajct ajcu ajcv ajcw ajcx ajcy ajcz ajda ajdb ajdc ajdd ajde ajdf ajdg ajdh ajdi ajdj ajdk ajdl ajdm ajdn ajdo ajdp ajdq ajdr ajds ajdt ajdu ajdv ajdw ajdx ajdy ajdz ajea ajeb ajec ajed ajee ajef ajeg ajeh ajei ajej ajek ajel ajem ajen ajeo ajep ajeq ajer ajes ajet ajeu ajev ajew ajex ajey ajez ajfa ajfb ajfc ajfd ajfe ajff ajfg ajfh ajfi ajfj ajfk ajfl ajfm ajfn ajfo ajfp ajfq ajfr ajfs ajft ajfu ajfv ajfw ajfx ajfy ajfz ajga ajgb ajgc ajgd ajge ajgf ajgg ajgh ajgi ajgj ajgk ajgl ajgm ajgn ajgo ajgp ajgq ajgr ajgs ajgt ajgu ajgv ajgw ajgx ajgy ajgz ajha ajhb ajhc ajhd ajhe ajhf ajhg ajhh ajhi ajhj ajhk ajhl ajhm ajhn ajho ajhp ajhq ajhr ajhs ajht ajhu ajhv ajhw ajhx ajhy ajhz ajia ajib ajic ajid ajie ajif ajig ajih ajii ajij ajik ajil ajim ajin ajio ajip ajiq ajir ajis ajit ajiu ajiv ajiw ajix ajiy ajiz ajja ajjb ajjc ajjd ajje ajjf ajjg ajjh ajji ajjj ajjk ajjl ajjm ajjn ajjo ajjp ajjq ajjr ajjs ajjt ajju ajjv ajjw ajjx ajjy ajjz ajka ajkb ajkc ajkd ajke ajkf ajkg ajkh ajki ajkj ajkk ajkl ajkm ajkn ajko ajkp ajkq ajkr ajks ajkt ajku ajkv ajkw ajkx ajky ajkz ajla ajlb ajlc ajld ajle ajlf ajlg ajlh ajli ajlj ajlk ajll ajlm ajln ajlo ajlp ajlq ajlr ajls ajlt ajlu ajlv ajlw ajlx ajly ajlz ajma ajmb ajmc ajmd ajme ajmf ajmg ajmh ajmi ajmj ajmk ajml ajmm ajmn ajmo ajmp ajmq ajmr ajms ajmt ajmu ajmv ajmw ajmx ajmy ajmz ajna ajnb ajnc ajnd ajne ajnf ajng ajnh ajni ajnj ajnk ajnl ajnm ajnn ajno ajnp ajnq ajnr ajns ajnt ajnu ajnv ajnw ajnx ajny ajnz ajoa ajob ajoc ajod ajoe ajof ajog ajoh ajoi ajoj ajok ajol ajom ajon ajoo ajop ajoq ajor ajos ajot ajou ajov ajow ajox ajoy ajoz ajpa ajpb ajpc ajpd ajpe ajpf ajpg ajph ajpi ajpj ajpk ajpl ajpm ajpn ajpo ajpp ajpq ajpr ajps ajpt ajpu ajpv ajpw ajpx ajpy ajpz ajqa ajqb ajqc ajqd ajqe ajqf ajqg ajqh ajqi ajqj ajqk ajql ajqm ajqn ajqo ajqp ajqq ajqr ajqs ajqt ajqu ajqv ajqw ajqx ajqy ajqz ajra ajrb ajrc ajrd ajre ajrf ajrg ajrh ajri ajrj ajrk ajrl ajrm ajrn ajro ajrp ajrq ajrr ajrs ajrt ajru ajrv ajrw ajrx ajry ajrz ajsa ajsb ajsc ajsd ajse ajsf ajsg ajsh ajsi ajsj ajsk ajsl ajsm ajsn ajso ajsp ajsq ajsr ajss ajst ajsu ajsv ajsw ajsx ajsy ajsz ajta ajtb ajtc ajtd ajte ajtf ajtg ajth ajti ajtj ajtk ajtl ajtm ajtn ajto ajtp ajtq ajtr ajts ajtt ajtu ajtv ajtw ajtx ajty ajtz ajua ajub ajuc ajud ajue ajuf ajug ajuh ajui ajuj ajuk ajul ajum ajun ajuo ajup ajuq ajur ajus ajut ajuu ajuv ajuw ajux ajuy ajuz ajva ajvb ajvc ajvd ajve ajvf ajvg ajvh ajvi ajvj ajvk ajvl ajvm ajvn ajvo ajvp ajvq ajvr ajvs ajvt ajvu ajvv ajvw ajvx ajvy ajvz ajwa ajwb ajwc ajwd ajwe ajwf ajwg ajwh ajwi ajwj ajwk ajwl ajwm ajwn ajwo ajwp ajwq ajwr ajws ajwt ajwu ajwv ajww ajwx ajwy ajwz ajxa ajxb ajxc ajxd ajxe ajxf ajxg ajxh ajxi ajxj ajxk ajxl ajxm ajxn ajxo ajxp ajxq ajxr ajxs ajxt ajxu ajxv ajxw ajxx ajxy ajxz ajya ajyb ajyc ajyd ajye ajyf ajyg ajyh ajyi ajyj ajyk ajyl ajym ajyn ajyo ajyp ajyq ajyr ajys ajyt ajyu ajyv ajyw ajyx ajyy ajyz ajza ajzb ajzc ajzd ajze ajzf ajzg ajzh ajzi ajzj ajzk ajzl ajzm ajzn ajzo ajzp ajzq ajzr ajzs ajzt ajzu ajzv ajzw ajzx ajzy ajzz akaa akab akac akad akae akaf akag akah akai akaj akak akal akam akan akao akap akaq akar akas akat akau akav akaw akax akay akaz akba akbb akbc akbd akbe akbf akbg akbh akbi akbj akbk akbl akbm akbn akbo akbp akbq akbr akbs akbt akbu akbv akbw akbx akby akbz akca akcb akcc akcd akce akcf akcg akch akci akcj akck akcl akcm akcn akco akcp akcq akcr akcs akct akcu akcv akcw akcx akcy akcz akda akdb akdc akdd akde akdf akdg akdh akdi akdj akdk akdl akdm akdn akdo akdp akdq akdr akds akdt akdu akdv akdw akdx akdy akdz akea akeb akec aked akee akef akeg akeh akei akej akek akel akem aken akeo akep akeq aker akes aket akeu akev akew akex akey akez akfa akfb akfc akfd akfe akff akfg akfh akfi akfj akfk akfl akfm akfn akfo akfp akfq akfr akfs akft akfu akfv akfw akfx akfy akfz akga akgb akgc akgd akge akgf akgg akgh akgi akgj akgk akgl akgm akgn akgo akgp akgq akgr akgs akgt akgu akgv akgw akgx akgy akgz akha akhb akhc akhd akhe akhf akhg akhh akhi akhj akhk akhl akhm akhn akho akhp akhq akhr akhs akht akhu akhv akhw akhx akhy akhz akia akib akic akid akie akif akig akih akii akij akik akil akim akin akio akip akiq akir akis akit akiu akiv akiw akix akiy akiz akja akjb akjc akjd akje akjf akjg akjh akji akjj akjk akjl akjm akjn akjo akjp akjq akjr akjs akjt akju akjv akjw akjx akjy akjz akka akkb akkc akkd akke akkf akkg akkh akki akkj akkk akkl akkm akkn akko akkp akkq akkr akks akkt akku akkv akkw akkx akky akkz akla aklb aklc akld akle aklf aklg aklh akli aklj aklk akll aklm akln aklo aklp aklq aklr akls aklt aklu aklv aklw aklx akly aklz akma akmb akmc akmd akme akmf akmg akmh akmi akmj akmk akml akmm akmn akmo akmp akmq akmr akms akmt akmu akmv akmw akmx akmy akmz akna aknb aknc aknd akne aknf akng aknh akni aknj aknk aknl aknm aknn akno aknp aknq aknr akns aknt aknu aknv aknw aknx akny aknz akoa akob akoc akod akoe akof akog akoh akoi akoj akok akol akom akon akoo akop akoq akor akos akot akou akov akow akox akoy akoz akpa akpb akpc akpd akpe akpf akpg akph akpi akpj akpk akpl akpm akpn akpo akpp akpq akpr akps akpt akpu akpv akpw akpx akpy akpz akqa akqb akqc akqd akqe akqf akqg akqh akqi akqj akqk akql akqm akqn akqo akqp akqq akqr akqs akqt akqu akqv akqw akqx akqy akqz akra akrb akrc akrd akre akrf akrg akrh akri akrj akrk akrl akrm akrn akro akrp akrq akrr akrs akrt akru akrv akrw akrx akry akrz aksa aksb aksc aksd akse aksf aksg aksh aksi aksj aksk aksl aksm aksn akso aksp aksq aksr akss akst aksu aksv aksw aksx aksy aksz akta aktb aktc aktd akte aktf aktg akth akti aktj aktk aktl aktm aktn akto aktp aktq aktr akts aktt aktu aktv aktw aktx akty aktz akua akub akuc akud akue akuf akug akuh akui akuj akuk akul akum akun akuo akup akuq akur akus akut akuu akuv akuw akux akuy akuz akva akvb akvc akvd akve akvf akvg akvh akvi akvj akvk akvl akvm akvn akvo akvp akvq akvr akvs akvt akvu akvv akvw akvx akvy akvz akwa akwb akwc akwd akwe akwf akwg akwh akwi akwj akwk akwl akwm akwn akwo akwp akwq akwr akws akwt akwu akwv akww akwx akwy akwz akxa akxb akxc akxd akxe akxf akxg akxh akxi akxj akxk akxl akxm akxn akxo akxp akxq akxr akxs akxt akxu akxv akxw akxx akxy akxz akya akyb akyc akyd akye akyf akyg akyh akyi akyj akyk akyl akym akyn akyo akyp akyq akyr akys akyt akyu akyv akyw akyx akyy akyz akza akzb akzc akzd akze akzf akzg akzh akzi akzj akzk akzl akzm akzn akzo akzp akzq akzr akzs akzt akzu akzv akzw akzx akzy akzz alaa alab alac alad alae alaf alag alah alai alaj alak alal alam alan alao alap alaq alar alas alat alau alav alaw alax alay alaz alba albb albc albd albe albf albg albh albi albj albk albl albm albn albo albp albq albr albs albt albu albv albw albx alby albz alca alcb alcc alcd alce alcf alcg alch alci alcj alck alcl alcm alcn alco alcp alcq alcr alcs alct alcu alcv alcw alcx alcy alcz alda aldb aldc aldd alde aldf aldg aldh aldi aldj aldk aldl aldm aldn aldo aldp aldq aldr alds aldt aldu aldv aldw aldx aldy aldz alea aleb alec aled alee alef aleg aleh alei alej alek alel alem alen aleo alep aleq aler ales alet aleu alev alew alex aley alez alfa alfb alfc alfd alfe alff alfg alfh alfi alfj alfk alfl alfm alfn alfo alfp alfq alfr alfs alft alfu alfv alfw alfx alfy alfz alga algb algc algd alge algf algg algh algi algj algk algl algm algn algo algp algq algr algs algt algu algv algw algx algy algz alha alhb alhc alhd alhe alhf alhg alhh alhi alhj alhk alhl alhm alhn alho alhp alhq alhr alhs alht alhu alhv alhw alhx alhy alhz alia alib alic alid alie alif alig alih alii alij alik alil alim alin alio alip aliq alir alis alit aliu aliv aliw alix aliy aliz alja aljb aljc aljd alje aljf aljg aljh alji aljj aljk aljl aljm aljn aljo aljp aljq aljr aljs aljt alju aljv aljw aljx aljy aljz alka alkb alkc alkd alke alkf alkg alkh alki alkj alkk alkl alkm alkn alko alkp alkq alkr alks alkt alku alkv alkw alkx alky alkz alla allb allc alld alle allf allg allh alli allj allk alll allm alln allo allp allq allr alls allt allu allv allw allx ally allz alma almb almc almd alme almf almg almh almi almj almk alml almm almn almo almp almq almr alms almt almu almv almw almx almy almz alna alnb alnc alnd alne alnf alng alnh alni alnj alnk alnl alnm alnn alno alnp alnq alnr alns alnt alnu alnv alnw alnx alny alnz aloa alob aloc alod aloe alof alog aloh aloi aloj alok alol alom alon aloo alop aloq alor alos alot alou alov alow alox aloy aloz alpa alpb alpc alpd alpe alpf alpg alph alpi alpj alpk alpl alpm alpn alpo alpp alpq alpr alps alpt alpu alpv alpw alpx alpy alpz alqa alqb alqc alqd alqe alqf alqg alqh alqi alqj alqk alql alqm alqn alqo alqp alqq alqr alqs alqt alqu alqv alqw alqx alqy alqz alra alrb alrc alrd alre alrf alrg alrh alri alrj alrk alrl alrm alrn alro alrp alrq alrr alrs alrt alru alrv alrw alrx alry alrz alsa alsb alsc alsd alse alsf alsg alsh alsi alsj alsk alsl alsm alsn also alsp alsq alsr alss alst alsu alsv alsw alsx alsy alsz alta altb altc altd alte altf altg alth alti altj altk altl altm altn alto altp altq altr alts altt altu altv altw altx alty altz alua alub aluc alud alue aluf alug aluh alui aluj aluk alul alum alun aluo alup aluq alur alus alut aluu aluv aluw alux aluy aluz alva alvb alvc alvd alve alvf alvg alvh alvi alvj alvk alvl alvm alvn alvo alvp alvq alvr alvs alvt alvu alvv alvw alvx alvy alvz alwa alwb alwc alwd alwe alwf alwg alwh alwi alwj alwk alwl alwm alwn alwo alwp alwq alwr alws alwt alwu alwv alww alwx alwy alwz alxa alxb alxc alxd alxe alxf alxg alxh alxi alxj alxk alxl alxm alxn alxo alxp alxq alxr alxs alxt alxu alxv alxw alxx alxy alxz alya alyb alyc alyd alye alyf alyg alyh alyi alyj alyk alyl alym alyn alyo alyp alyq alyr alys alyt alyu alyv alyw alyx alyy alyz alza alzb alzc alzd alze alzf alzg alzh alzi alzj alzk alzl alzm alzn alzo alzp alzq alzr alzs alzt alzu alzv alzw alzx alzy alzz amaa amab amac amad amae amaf amag amah amai amaj amak amal amam aman amao amap amaq amar amas amat amau amav amaw amax amay amaz amba ambb ambc ambd ambe ambf ambg ambh ambi ambj ambk ambl ambm ambn ambo ambp ambq ambr ambs ambt ambu ambv ambw ambx amby ambz amca amcb amcc amcd amce amcf amcg amch amci amcj amck amcl amcm amcn amco amcp amcq amcr amcs amct amcu amcv amcw amcx amcy amcz amda amdb amdc amdd amde amdf amdg amdh amdi amdj amdk amdl amdm amdn amdo amdp amdq amdr amds amdt amdu amdv amdw amdx amdy amdz amea ameb amec amed amee amef ameg ameh amei amej amek amel amem amen ameo amep ameq amer ames amet ameu amev amew amex amey amez amfa amfb amfc amfd amfe amff amfg amfh amfi amfj amfk amfl amfm amfn amfo amfp amfq amfr amfs amft amfu amfv amfw amfx amfy amfz amga amgb amgc amgd amge amgf amgg amgh amgi amgj amgk amgl amgm amgn amgo amgp amgq amgr amgs amgt amgu amgv amgw amgx amgy amgz amha amhb amhc amhd amhe amhf amhg amhh amhi amhj amhk amhl amhm amhn amho amhp amhq amhr amhs amht amhu amhv amhw amhx amhy amhz amia amib amic amid amie amif amig amih amii amij amik amil amim amin amio amip amiq amir amis amit amiu amiv amiw amix amiy amiz amja amjb amjc amjd amje amjf amjg amjh amji amjj amjk amjl amjm amjn amjo amjp amjq amjr amjs amjt amju amjv amjw amjx amjy amjz amka amkb amkc amkd amke amkf amkg amkh amki amkj amkk amkl amkm amkn amko amkp amkq amkr amks amkt amku amkv amkw amkx amky amkz amla amlb amlc amld amle amlf amlg amlh amli amlj amlk amll amlm amln amlo amlp amlq amlr amls amlt amlu amlv amlw amlx amly amlz amma ammb ammc ammd amme ammf ammg ammh ammi ammj ammk amml ammm ammn ammo ammp ammq ammr amms ammt ammu ammv ammw ammx ammy ammz amna amnb amnc amnd amne amnf amng amnh amni amnj amnk amnl amnm amnn amno amnp amnq amnr amns amnt amnu amnv amnw amnx amny amnz amoa amob amoc amod amoe amof amog amoh amoi amoj amok amol amom amon amoo amop amoq amor amos amot amou amov amow amox amoy amoz ampa ampb ampc ampd ampe ampf ampg amph ampi ampj ampk ampl ampm ampn ampo ampp ampq ampr amps ampt ampu ampv ampw ampx ampy ampz amqa amqb amqc amqd amqe amqf amqg amqh amqi amqj amqk amql amqm amqn amqo amqp amqq amqr amqs amqt amqu amqv amqw amqx amqy amqz amra amrb amrc amrd amre amrf amrg amrh amri amrj amrk amrl amrm amrn amro amrp amrq amrr amrs amrt amru amrv amrw amrx amry amrz amsa amsb amsc amsd amse amsf amsg amsh amsi amsj amsk amsl amsm amsn amso amsp amsq amsr amss amst amsu amsv amsw amsx amsy amsz amta amtb amtc amtd amte amtf amtg amth amti amtj amtk amtl amtm amtn amto amtp amtq amtr amts amtt amtu amtv amtw amtx amty amtz amua amub amuc amud amue amuf amug amuh amui amuj amuk amul amum amun amuo amup amuq amur amus amut amuu amuv amuw amux amuy amuz amva amvb amvc amvd amve amvf amvg amvh amvi amvj amvk amvl amvm amvn amvo amvp amvq amvr amvs amvt amvu amvv amvw amvx amvy amvz amwa amwb amwc amwd amwe amwf amwg amwh amwi amwj amwk amwl amwm amwn amwo amwp amwq amwr amws amwt amwu amwv amww amwx amwy amwz amxa amxb amxc amxd amxe amxf amxg amxh amxi amxj amxk amxl amxm amxn amxo amxp amxq amxr amxs amxt amxu amxv amxw amxx amxy amxz amya amyb amyc amyd amye amyf amyg amyh amyi amyj amyk amyl amym amyn amyo amyp amyq amyr amys amyt amyu amyv amyw amyx amyy amyz amza amzb amzc amzd amze amzf amzg amzh amzi amzj amzk amzl amzm amzn amzo amzp amzq amzr amzs amzt amzu amzv amzw amzx amzy amzz anaa anab anac anad anae anaf anag anah anai anaj anak anal anam anan anao anap anaq anar anas anat anau anav anaw anax anay anaz anba anbb anbc anbd anbe anbf anbg anbh anbi anbj anbk anbl anbm anbn anbo anbp anbq anbr anbs anbt anbu anbv anbw anbx anby anbz anca ancb ancc ancd ance ancf ancg anch anci ancj anck ancl ancm ancn anco ancp ancq ancr ancs anct ancu ancv ancw ancx ancy ancz anda andb andc andd ande andf andg andh andi andj andk andl andm andn ando andp andq andr ands andt andu andv andw andx andy andz anea aneb anec aned anee anef aneg aneh anei anej anek anel anem anen aneo anep aneq aner anes anet aneu anev anew anex aney anez anfa anfb anfc anfd anfe anff anfg anfh anfi anfj anfk anfl anfm anfn anfo anfp anfq anfr anfs anft anfu anfv anfw anfx anfy anfz anga angb angc angd ange angf angg angh angi angj angk angl angm angn ango angp angq angr angs angt angu angv angw angx angy angz anha anhb anhc anhd anhe anhf anhg anhh anhi anhj anhk anhl anhm anhn anho anhp anhq anhr anhs anht anhu anhv anhw anhx anhy anhz ania anib anic anid anie anif anig anih anii anij anik anil anim anin anio anip aniq anir anis anit aniu aniv aniw anix aniy aniz anja anjb anjc anjd anje anjf anjg anjh anji anjj anjk anjl anjm anjn anjo anjp anjq anjr anjs anjt anju anjv anjw anjx anjy anjz anka ankb ankc ankd anke ankf ankg ankh anki ankj ankk ankl ankm ankn anko ankp ankq ankr anks ankt anku ankv ankw ankx anky ankz anla anlb anlc anld anle anlf anlg anlh anli anlj anlk anll anlm anln anlo anlp anlq anlr anls anlt anlu anlv anlw anlx anly anlz anma anmb anmc anmd anme anmf anmg anmh anmi anmj anmk anml anmm anmn anmo anmp anmq anmr anms anmt anmu anmv anmw anmx anmy anmz anna annb annc annd anne annf anng annh anni annj annk annl annm annn anno annp annq annr anns annt annu annv annw annx anny annz anoa anob anoc anod anoe anof anog anoh anoi anoj anok anol anom anon anoo anop anoq anor anos anot anou anov anow anox anoy anoz anpa anpb anpc anpd anpe anpf anpg anph anpi anpj anpk anpl anpm anpn anpo anpp anpq anpr anps anpt anpu anpv anpw anpx anpy anpz anqa anqb anqc anqd anqe anqf anqg anqh anqi anqj anqk anql anqm anqn anqo anqp anqq anqr anqs anqt anqu anqv anqw anqx anqy anqz anra anrb anrc anrd anre anrf anrg anrh anri anrj anrk anrl anrm anrn anro anrp anrq anrr anrs anrt anru anrv anrw anrx anry anrz ansa ansb ansc ansd anse ansf ansg ansh ansi ansj ansk ansl ansm ansn anso ansp ansq ansr anss anst ansu ansv answ ansx ansy ansz anta antb antc antd ante antf antg anth anti antj antk antl antm antn anto antp antq antr ants antt antu antv antw antx anty antz anua anub anuc anud anue anuf anug anuh anui anuj anuk anul anum anun anuo anup anuq anur anus anut anuu anuv anuw anux anuy anuz anva anvb anvc anvd anve anvf anvg anvh anvi anvj anvk anvl anvm anvn anvo anvp anvq anvr anvs anvt anvu anvv anvw anvx anvy anvz anwa anwb anwc anwd anwe anwf anwg anwh anwi anwj anwk anwl anwm anwn anwo anwp anwq anwr anws anwt anwu anwv anww anwx anwy anwz anxa anxb anxc anxd anxe anxf anxg anxh anxi anxj anxk anxl anxm anxn anxo anxp anxq anxr anxs anxt anxu anxv anxw anxx anxy anxz anya anyb anyc anyd anye anyf anyg anyh anyi anyj anyk anyl anym anyn anyo anyp anyq anyr anys anyt anyu anyv anyw anyx anyy anyz anza anzb anzc anzd anze anzf anzg anzh anzi anzj anzk anzl anzm anzn anzo anzp anzq anzr anzs anzt anzu anzv anzw anzx anzy anzz aoaa aoab aoac aoad aoae aoaf aoag aoah aoai aoaj aoak aoal aoam aoan aoao aoap aoaq aoar aoas aoat aoau aoav aoaw aoax aoay aoaz aoba aobb aobc aobd aobe aobf aobg aobh aobi aobj aobk aobl aobm aobn aobo aobp aobq aobr aobs aobt aobu aobv aobw aobx aoby aobz aoca aocb aocc aocd aoce aocf aocg aoch aoci aocj aock aocl aocm aocn aoco aocp aocq aocr aocs aoct aocu aocv aocw aocx aocy aocz aoda aodb aodc aodd aode aodf aodg aodh aodi aodj aodk aodl aodm aodn aodo aodp aodq aodr aods aodt aodu aodv aodw aodx aody aodz aoea aoeb aoec aoed aoee aoef aoeg aoeh aoei aoej aoek aoel aoem aoen aoeo aoep aoeq aoer aoes aoet aoeu aoev aoew aoex aoey aoez aofa aofb aofc aofd aofe aoff aofg aofh aofi aofj aofk aofl aofm aofn aofo aofp aofq aofr aofs aoft aofu aofv aofw aofx aofy aofz aoga aogb aogc aogd aoge aogf aogg aogh aogi aogj aogk aogl aogm aogn aogo aogp aogq aogr aogs aogt aogu aogv aogw aogx aogy aogz aoha aohb aohc aohd aohe aohf aohg aohh aohi aohj aohk aohl aohm aohn aoho aohp aohq aohr aohs aoht aohu aohv aohw aohx aohy aohz aoia aoib aoic aoid aoie aoif aoig aoih aoii aoij aoik aoil aoim aoin aoio aoip aoiq aoir aois aoit aoiu aoiv aoiw aoix aoiy aoiz aoja aojb aojc aojd aoje aojf aojg aojh aoji aojj aojk aojl aojm aojn aojo aojp aojq aojr aojs aojt aoju aojv aojw aojx aojy aojz aoka aokb aokc aokd aoke aokf aokg aokh aoki aokj aokk aokl aokm aokn aoko aokp aokq aokr aoks aokt aoku aokv aokw aokx aoky aokz aola aolb aolc aold aole aolf aolg aolh aoli aolj aolk aoll aolm aoln aolo aolp aolq aolr aols aolt aolu aolv aolw aolx aoly aolz aoma aomb aomc aomd aome aomf aomg aomh aomi aomj aomk aoml aomm aomn aomo aomp aomq aomr aoms aomt aomu aomv aomw aomx aomy aomz aona aonb aonc aond aone aonf aong aonh aoni aonj aonk aonl aonm aonn aono aonp aonq aonr aons aont aonu aonv aonw aonx aony aonz aooa aoob aooc aood aooe aoof aoog aooh aooi aooj aook aool aoom aoon aooo aoop aooq aoor aoos aoot aoou aoov aoow aoox aooy aooz aopa aopb aopc aopd aope aopf aopg aoph aopi aopj aopk aopl aopm aopn aopo aopp aopq aopr aops aopt aopu aopv aopw aopx aopy aopz aoqa aoqb aoqc aoqd aoqe aoqf aoqg aoqh aoqi aoqj aoqk aoql aoqm aoqn aoqo aoqp aoqq aoqr aoqs aoqt aoqu aoqv aoqw aoqx aoqy aoqz aora aorb aorc aord aore aorf aorg aorh aori aorj aork aorl aorm aorn aoro aorp aorq aorr aors aort aoru aorv aorw aorx aory aorz aosa aosb aosc aosd aose aosf aosg aosh aosi aosj aosk aosl aosm aosn aoso aosp aosq aosr aoss aost aosu aosv aosw aosx aosy aosz aota aotb aotc aotd aote aotf aotg aoth aoti aotj aotk aotl aotm aotn aoto aotp aotq aotr aots aott aotu aotv aotw aotx aoty aotz aoua aoub aouc aoud aoue aouf aoug aouh aoui aouj aouk aoul aoum aoun aouo aoupsifter.js-0.5.3/benchmark/searches_5letter.txt000066400000000000000000001651371321014527000213720ustar00rootroot00000000000000aaaaa aaaab aaaac aaaad aaaae aaaaf aaaag aaaah aaaai aaaaj aaaak aaaal aaaam aaaan aaaao aaaap aaaaq aaaar aaaas aaaat aaaau aaaav aaaaw aaaax aaaay aaaaz aaaba aaabb aaabc aaabd aaabe aaabf aaabg aaabh aaabi aaabj aaabk aaabl aaabm aaabn aaabo aaabp aaabq aaabr aaabs aaabt aaabu aaabv aaabw aaabx aaaby aaabz aaaca aaacb aaacc aaacd aaace aaacf aaacg aaach aaaci aaacj aaack aaacl aaacm aaacn aaaco aaacp aaacq aaacr aaacs aaact aaacu aaacv aaacw aaacx aaacy aaacz aaada aaadb aaadc aaadd aaade aaadf aaadg aaadh aaadi aaadj aaadk aaadl aaadm aaadn aaado aaadp aaadq aaadr aaads aaadt aaadu aaadv aaadw aaadx aaady aaadz aaaea aaaeb aaaec aaaed aaaee aaaef aaaeg aaaeh aaaei aaaej aaaek aaael aaaem aaaen aaaeo aaaep aaaeq aaaer aaaes aaaet aaaeu aaaev aaaew aaaex aaaey aaaez aaafa aaafb aaafc aaafd aaafe aaaff aaafg aaafh aaafi aaafj aaafk aaafl aaafm aaafn aaafo aaafp aaafq aaafr aaafs aaaft aaafu aaafv aaafw aaafx aaafy aaafz aaaga aaagb aaagc aaagd aaage aaagf aaagg aaagh aaagi aaagj aaagk aaagl aaagm aaagn aaago aaagp aaagq aaagr aaags aaagt aaagu aaagv aaagw aaagx aaagy aaagz aaaha aaahb aaahc aaahd aaahe aaahf aaahg aaahh aaahi aaahj aaahk aaahl aaahm aaahn aaaho aaahp aaahq aaahr aaahs aaaht aaahu aaahv aaahw aaahx aaahy aaahz aaaia aaaib aaaic aaaid aaaie aaaif aaaig aaaih aaaii aaaij aaaik aaail aaaim aaain aaaio aaaip aaaiq aaair aaais aaait aaaiu aaaiv aaaiw aaaix aaaiy aaaiz aaaja aaajb aaajc aaajd aaaje aaajf aaajg aaajh aaaji aaajj aaajk aaajl aaajm aaajn aaajo aaajp aaajq aaajr aaajs aaajt aaaju aaajv aaajw aaajx aaajy aaajz aaaka aaakb aaakc aaakd aaake aaakf aaakg aaakh aaaki aaakj aaakk aaakl aaakm aaakn aaako aaakp aaakq aaakr aaaks aaakt aaaku aaakv aaakw aaakx aaaky aaakz aaala aaalb aaalc aaald aaale aaalf aaalg aaalh aaali aaalj aaalk aaall aaalm aaaln aaalo aaalp aaalq aaalr aaals aaalt aaalu aaalv aaalw aaalx aaaly aaalz aaama aaamb aaamc aaamd aaame aaamf aaamg aaamh aaami aaamj aaamk aaaml aaamm aaamn aaamo aaamp aaamq aaamr aaams aaamt aaamu aaamv aaamw aaamx aaamy aaamz aaana aaanb aaanc aaand aaane aaanf aaang aaanh aaani aaanj aaank aaanl aaanm aaann aaano aaanp aaanq aaanr aaans aaant aaanu aaanv aaanw aaanx aaany aaanz aaaoa aaaob aaaoc aaaod aaaoe aaaof aaaog aaaoh aaaoi aaaoj aaaok aaaol aaaom aaaon aaaoo aaaop aaaoq aaaor aaaos aaaot aaaou aaaov aaaow aaaox aaaoy aaaoz aaapa aaapb aaapc aaapd aaape aaapf aaapg aaaph aaapi aaapj aaapk aaapl aaapm aaapn aaapo aaapp aaapq aaapr aaaps aaapt aaapu aaapv aaapw aaapx aaapy aaapz aaaqa aaaqb aaaqc aaaqd aaaqe aaaqf aaaqg aaaqh aaaqi aaaqj aaaqk aaaql aaaqm aaaqn aaaqo aaaqp aaaqq aaaqr aaaqs aaaqt aaaqu aaaqv aaaqw aaaqx aaaqy aaaqz aaara aaarb aaarc aaard aaare aaarf aaarg aaarh aaari aaarj aaark aaarl aaarm aaarn aaaro aaarp aaarq aaarr aaars aaart aaaru aaarv aaarw aaarx aaary aaarz aaasa aaasb aaasc aaasd aaase aaasf aaasg aaash aaasi aaasj aaask aaasl aaasm aaasn aaaso aaasp aaasq aaasr aaass aaast aaasu aaasv aaasw aaasx aaasy aaasz aaata aaatb aaatc aaatd aaate aaatf aaatg aaath aaati aaatj aaatk aaatl aaatm aaatn aaato aaatp aaatq aaatr aaats aaatt aaatu aaatv aaatw aaatx aaaty aaatz aaaua aaaub aaauc aaaud aaaue aaauf aaaug aaauh aaaui aaauj aaauk aaaul aaaum aaaun aaauo aaaup aaauq aaaur aaaus aaaut aaauu aaauv aaauw aaaux aaauy aaauz aaava aaavb aaavc aaavd aaave aaavf aaavg aaavh aaavi aaavj aaavk aaavl aaavm aaavn aaavo aaavp aaavq aaavr aaavs aaavt aaavu aaavv aaavw aaavx aaavy aaavz aaawa aaawb aaawc aaawd aaawe aaawf aaawg aaawh aaawi aaawj aaawk aaawl aaawm aaawn aaawo aaawp aaawq aaawr aaaws aaawt aaawu aaawv aaaww aaawx aaawy aaawz aaaxa aaaxb aaaxc aaaxd aaaxe aaaxf aaaxg aaaxh aaaxi aaaxj aaaxk aaaxl aaaxm aaaxn aaaxo aaaxp aaaxq aaaxr aaaxs aaaxt aaaxu aaaxv aaaxw aaaxx aaaxy aaaxz aaaya aaayb aaayc aaayd aaaye aaayf aaayg aaayh aaayi aaayj aaayk aaayl aaaym aaayn aaayo aaayp aaayq aaayr aaays aaayt aaayu aaayv aaayw aaayx aaayy aaayz aaaza aaazb aaazc aaazd aaaze aaazf aaazg aaazh aaazi aaazj aaazk aaazl aaazm aaazn aaazo aaazp aaazq aaazr aaazs aaazt aaazu aaazv aaazw aaazx aaazy aaazz aabaa aabab aabac aabad aabae aabaf aabag aabah aabai aabaj aabak aabal aabam aaban aabao aabap aabaq aabar aabas aabat aabau aabav aabaw aabax aabay aabaz aabba aabbb aabbc aabbd aabbe aabbf aabbg aabbh aabbi aabbj aabbk aabbl aabbm aabbn aabbo aabbp aabbq aabbr aabbs aabbt aabbu aabbv aabbw aabbx aabby aabbz aabca aabcb aabcc aabcd aabce aabcf aabcg aabch aabci aabcj aabck aabcl aabcm aabcn aabco aabcp aabcq aabcr aabcs aabct aabcu aabcv aabcw aabcx aabcy aabcz aabda aabdb aabdc aabdd aabde aabdf aabdg aabdh aabdi aabdj aabdk aabdl aabdm aabdn aabdo aabdp aabdq aabdr aabds aabdt aabdu aabdv aabdw aabdx aabdy aabdz aabea aabeb aabec aabed aabee aabef aabeg aabeh aabei aabej aabek aabel aabem aaben aabeo aabep aabeq aaber aabes aabet aabeu aabev aabew aabex aabey aabez aabfa aabfb aabfc aabfd aabfe aabff aabfg aabfh aabfi aabfj aabfk aabfl aabfm aabfn aabfo aabfp aabfq aabfr aabfs aabft aabfu aabfv aabfw aabfx aabfy aabfz aabga aabgb aabgc aabgd aabge aabgf aabgg aabgh aabgi aabgj aabgk aabgl aabgm aabgn aabgo aabgp aabgq aabgr aabgs aabgt aabgu aabgv aabgw aabgx aabgy aabgz aabha aabhb aabhc aabhd aabhe aabhf aabhg aabhh aabhi aabhj aabhk aabhl aabhm aabhn aabho aabhp aabhq aabhr aabhs aabht aabhu aabhv aabhw aabhx aabhy aabhz aabia aabib aabic aabid aabie aabif aabig aabih aabii aabij aabik aabil aabim aabin aabio aabip aabiq aabir aabis aabit aabiu aabiv aabiw aabix aabiy aabiz aabja aabjb aabjc aabjd aabje aabjf aabjg aabjh aabji aabjj aabjk aabjl aabjm aabjn aabjo aabjp aabjq aabjr aabjs aabjt aabju aabjv aabjw aabjx aabjy aabjz aabka aabkb aabkc aabkd aabke aabkf aabkg aabkh aabki aabkj aabkk aabkl aabkm aabkn aabko aabkp aabkq aabkr aabks aabkt aabku aabkv aabkw aabkx aabky aabkz aabla aablb aablc aabld aable aablf aablg aablh aabli aablj aablk aabll aablm aabln aablo aablp aablq aablr aabls aablt aablu aablv aablw aablx aably aablz aabma aabmb aabmc aabmd aabme aabmf aabmg aabmh aabmi aabmj aabmk aabml aabmm aabmn aabmo aabmp aabmq aabmr aabms aabmt aabmu aabmv aabmw aabmx aabmy aabmz aabna aabnb aabnc aabnd aabne aabnf aabng aabnh aabni aabnj aabnk aabnl aabnm aabnn aabno aabnp aabnq aabnr aabns aabnt aabnu aabnv aabnw aabnx aabny aabnz aaboa aabob aaboc aabod aaboe aabof aabog aaboh aaboi aaboj aabok aabol aabom aabon aaboo aabop aaboq aabor aabos aabot aabou aabov aabow aabox aaboy aaboz aabpa aabpb aabpc aabpd aabpe aabpf aabpg aabph aabpi aabpj aabpk aabpl aabpm aabpn aabpo aabpp aabpq aabpr aabps aabpt aabpu aabpv aabpw aabpx aabpy aabpz aabqa aabqb aabqc aabqd aabqe aabqf aabqg aabqh aabqi aabqj aabqk aabql aabqm aabqn aabqo aabqp aabqq aabqr aabqs aabqt aabqu aabqv aabqw aabqx aabqy aabqz aabra aabrb aabrc aabrd aabre aabrf aabrg aabrh aabri aabrj aabrk aabrl aabrm aabrn aabro aabrp aabrq aabrr aabrs aabrt aabru aabrv aabrw aabrx aabry aabrz aabsa aabsb aabsc aabsd aabse aabsf aabsg aabsh aabsi aabsj aabsk aabsl aabsm aabsn aabso aabsp aabsq aabsr aabss aabst aabsu aabsv aabsw aabsx aabsy aabsz aabta aabtb aabtc aabtd aabte aabtf aabtg aabth aabti aabtj aabtk aabtl aabtm aabtn aabto aabtp aabtq aabtr aabts aabtt aabtu aabtv aabtw aabtx aabty aabtz aabua aabub aabuc aabud aabue aabuf aabug aabuh aabui aabuj aabuk aabul aabum aabun aabuo aabup aabuq aabur aabus aabut aabuu aabuv aabuw aabux aabuy aabuz aabva aabvb aabvc aabvd aabve aabvf aabvg aabvh aabvi aabvj aabvk aabvl aabvm aabvn aabvo aabvp aabvq aabvr aabvs aabvt aabvu aabvv aabvw aabvx aabvy aabvz aabwa aabwb aabwc aabwd aabwe aabwf aabwg aabwh aabwi aabwj aabwk aabwl aabwm aabwn aabwo aabwp aabwq aabwr aabws aabwt aabwu aabwv aabww aabwx aabwy aabwz aabxa aabxb aabxc aabxd aabxe aabxf aabxg aabxh aabxi aabxj aabxk aabxl aabxm aabxn aabxo aabxp aabxq aabxr aabxs aabxt aabxu aabxv aabxw aabxx aabxy aabxz aabya aabyb aabyc aabyd aabye aabyf aabyg aabyh aabyi aabyj aabyk aabyl aabym aabyn aabyo aabyp aabyq aabyr aabys aabyt aabyu aabyv aabyw aabyx aabyy aabyz aabza aabzb aabzc aabzd aabze aabzf aabzg aabzh aabzi aabzj aabzk aabzl aabzm aabzn aabzo aabzp aabzq aabzr aabzs aabzt aabzu aabzv aabzw aabzx aabzy aabzz aacaa aacab aacac aacad aacae aacaf aacag aacah aacai aacaj aacak aacal aacam aacan aacao aacap aacaq aacar aacas aacat aacau aacav aacaw aacax aacay aacaz aacba aacbb aacbc aacbd aacbe aacbf aacbg aacbh aacbi aacbj aacbk aacbl aacbm aacbn aacbo aacbp aacbq aacbr aacbs aacbt aacbu aacbv aacbw aacbx aacby aacbz aacca aaccb aaccc aaccd aacce aaccf aaccg aacch aacci aaccj aacck aaccl aaccm aaccn aacco aaccp aaccq aaccr aaccs aacct aaccu aaccv aaccw aaccx aaccy aaccz aacda aacdb aacdc aacdd aacde aacdf aacdg aacdh aacdi aacdj aacdk aacdl aacdm aacdn aacdo aacdp aacdq aacdr aacds aacdt aacdu aacdv aacdw aacdx aacdy aacdz aacea aaceb aacec aaced aacee aacef aaceg aaceh aacei aacej aacek aacel aacem aacen aaceo aacep aaceq aacer aaces aacet aaceu aacev aacew aacex aacey aacez aacfa aacfb aacfc aacfd aacfe aacff aacfg aacfh aacfi aacfj aacfk aacfl aacfm aacfn aacfo aacfp aacfq aacfr aacfs aacft aacfu aacfv aacfw aacfx aacfy aacfz aacga aacgb aacgc aacgd aacge aacgf aacgg aacgh aacgi aacgj aacgk aacgl aacgm aacgn aacgo aacgp aacgq aacgr aacgs aacgt aacgu aacgv aacgw aacgx aacgy aacgz aacha aachb aachc aachd aache aachf aachg aachh aachi aachj aachk aachl aachm aachn aacho aachp aachq aachr aachs aacht aachu aachv aachw aachx aachy aachz aacia aacib aacic aacid aacie aacif aacig aacih aacii aacij aacik aacil aacim aacin aacio aacip aaciq aacir aacis aacit aaciu aaciv aaciw aacix aaciy aaciz aacja aacjb aacjc aacjd aacje aacjf aacjg aacjh aacji aacjj aacjk aacjl aacjm aacjn aacjo aacjp aacjq aacjr aacjs aacjt aacju aacjv aacjw aacjx aacjy aacjz aacka aackb aackc aackd aacke aackf aackg aackh aacki aackj aackk aackl aackm aackn aacko aackp aackq aackr aacks aackt aacku aackv aackw aackx aacky aackz aacla aaclb aaclc aacld aacle aaclf aaclg aaclh aacli aaclj aaclk aacll aaclm aacln aaclo aaclp aaclq aaclr aacls aaclt aaclu aaclv aaclw aaclx aacly aaclz aacma aacmb aacmc aacmd aacme aacmf aacmg aacmh aacmi aacmj aacmk aacml aacmm aacmn aacmo aacmp aacmq aacmr aacms aacmt aacmu aacmv aacmw aacmx aacmy aacmz aacna aacnb aacnc aacnd aacne aacnf aacng aacnh aacni aacnj aacnk aacnl aacnm aacnn aacno aacnp aacnq aacnr aacns aacnt aacnu aacnv aacnw aacnx aacny aacnz aacoa aacob aacoc aacod aacoe aacof aacog aacoh aacoi aacoj aacok aacol aacom aacon aacoo aacop aacoq aacor aacos aacot aacou aacov aacow aacox aacoy aacoz aacpa aacpb aacpc aacpd aacpe aacpf aacpg aacph aacpi aacpj aacpk aacpl aacpm aacpn aacpo aacpp aacpq aacpr aacps aacpt aacpu aacpv aacpw aacpx aacpy aacpz aacqa aacqb aacqc aacqd aacqe aacqf aacqg aacqh aacqi aacqj aacqk aacql aacqm aacqn aacqo aacqp aacqq aacqr aacqs aacqt aacqu aacqv aacqw aacqx aacqy aacqz aacra aacrb aacrc aacrd aacre aacrf aacrg aacrh aacri aacrj aacrk aacrl aacrm aacrn aacro aacrp aacrq aacrr aacrs aacrt aacru aacrv aacrw aacrx aacry aacrz aacsa aacsb aacsc aacsd aacse aacsf aacsg aacsh aacsi aacsj aacsk aacsl aacsm aacsn aacso aacsp aacsq aacsr aacss aacst aacsu aacsv aacsw aacsx aacsy aacsz aacta aactb aactc aactd aacte aactf aactg aacth aacti aactj aactk aactl aactm aactn aacto aactp aactq aactr aacts aactt aactu aactv aactw aactx aacty aactz aacua aacub aacuc aacud aacue aacuf aacug aacuh aacui aacuj aacuk aacul aacum aacun aacuo aacup aacuq aacur aacus aacut aacuu aacuv aacuw aacux aacuy aacuz aacva aacvb aacvc aacvd aacve aacvf aacvg aacvh aacvi aacvj aacvk aacvl aacvm aacvn aacvo aacvp aacvq aacvr aacvs aacvt aacvu aacvv aacvw aacvx aacvy aacvz aacwa aacwb aacwc aacwd aacwe aacwf aacwg aacwh aacwi aacwj aacwk aacwl aacwm aacwn aacwo aacwp aacwq aacwr aacws aacwt aacwu aacwv aacww aacwx aacwy aacwz aacxa aacxb aacxc aacxd aacxe aacxf aacxg aacxh aacxi aacxj aacxk aacxl aacxm aacxn aacxo aacxp aacxq aacxr aacxs aacxt aacxu aacxv aacxw aacxx aacxy aacxz aacya aacyb aacyc aacyd aacye aacyf aacyg aacyh aacyi aacyj aacyk aacyl aacym aacyn aacyo aacyp aacyq aacyr aacys aacyt aacyu aacyv aacyw aacyx aacyy aacyz aacza aaczb aaczc aaczd aacze aaczf aaczg aaczh aaczi aaczj aaczk aaczl aaczm aaczn aaczo aaczp aaczq aaczr aaczs aaczt aaczu aaczv aaczw aaczx aaczy aaczz aadaa aadab aadac aadad aadae aadaf aadag aadah aadai aadaj aadak aadal aadam aadan aadao aadap aadaq aadar aadas aadat aadau aadav aadaw aadax aaday aadaz aadba aadbb aadbc aadbd aadbe aadbf aadbg aadbh aadbi aadbj aadbk aadbl aadbm aadbn aadbo aadbp aadbq aadbr aadbs aadbt aadbu aadbv aadbw aadbx aadby aadbz aadca aadcb aadcc aadcd aadce aadcf aadcg aadch aadci aadcj aadck aadcl aadcm aadcn aadco aadcp aadcq aadcr aadcs aadct aadcu aadcv aadcw aadcx aadcy aadcz aadda aaddb aaddc aaddd aadde aaddf aaddg aaddh aaddi aaddj aaddk aaddl aaddm aaddn aaddo aaddp aaddq aaddr aadds aaddt aaddu aaddv aaddw aaddx aaddy aaddz aadea aadeb aadec aaded aadee aadef aadeg aadeh aadei aadej aadek aadel aadem aaden aadeo aadep aadeq aader aades aadet aadeu aadev aadew aadex aadey aadez aadfa aadfb aadfc aadfd aadfe aadff aadfg aadfh aadfi aadfj aadfk aadfl aadfm aadfn aadfo aadfp aadfq aadfr aadfs aadft aadfu aadfv aadfw aadfx aadfy aadfz aadga aadgb aadgc aadgd aadge aadgf aadgg aadgh aadgi aadgj aadgk aadgl aadgm aadgn aadgo aadgp aadgq aadgr aadgs aadgt aadgu aadgv aadgw aadgx aadgy aadgz aadha aadhb aadhc aadhd aadhe aadhf aadhg aadhh aadhi aadhj aadhk aadhl aadhm aadhn aadho aadhp aadhq aadhr aadhs aadht aadhu aadhv aadhw aadhx aadhy aadhz aadia aadib aadic aadid aadie aadif aadig aadih aadii aadij aadik aadil aadim aadin aadio aadip aadiq aadir aadis aadit aadiu aadiv aadiw aadix aadiy aadiz aadja aadjb aadjc aadjd aadje aadjf aadjg aadjh aadji aadjj aadjk aadjl aadjm aadjn aadjo aadjp aadjq aadjr aadjs aadjt aadju aadjv aadjw aadjx aadjy aadjz aadka aadkb aadkc aadkd aadke aadkf aadkg aadkh aadki aadkj aadkk aadkl aadkm aadkn aadko aadkp aadkq aadkr aadks aadkt aadku aadkv aadkw aadkx aadky aadkz aadla aadlb aadlc aadld aadle aadlf aadlg aadlh aadli aadlj aadlk aadll aadlm aadln aadlo aadlp aadlq aadlr aadls aadlt aadlu aadlv aadlw aadlx aadly aadlz aadma aadmb aadmc aadmd aadme aadmf aadmg aadmh aadmi aadmj aadmk aadml aadmm aadmn aadmo aadmp aadmq aadmr aadms aadmt aadmu aadmv aadmw aadmx aadmy aadmz aadna aadnb aadnc aadnd aadne aadnf aadng aadnh aadni aadnj aadnk aadnl aadnm aadnn aadno aadnp aadnq aadnr aadns aadnt aadnu aadnv aadnw aadnx aadny aadnz aadoa aadob aadoc aadod aadoe aadof aadog aadoh aadoi aadoj aadok aadol aadom aadon aadoo aadop aadoq aador aados aadot aadou aadov aadow aadox aadoy aadoz aadpa aadpb aadpc aadpd aadpe aadpf aadpg aadph aadpi aadpj aadpk aadpl aadpm aadpn aadpo aadpp aadpq aadpr aadps aadpt aadpu aadpv aadpw aadpx aadpy aadpz aadqa aadqb aadqc aadqd aadqe aadqf aadqg aadqh aadqi aadqj aadqk aadql aadqm aadqn aadqo aadqp aadqq aadqr aadqs aadqt aadqu aadqv aadqw aadqx aadqy aadqz aadra aadrb aadrc aadrd aadre aadrf aadrg aadrh aadri aadrj aadrk aadrl aadrm aadrn aadro aadrp aadrq aadrr aadrs aadrt aadru aadrv aadrw aadrx aadry aadrz aadsa aadsb aadsc aadsd aadse aadsf aadsg aadsh aadsi aadsj aadsk aadsl aadsm aadsn aadso aadsp aadsq aadsr aadss aadst aadsu aadsv aadsw aadsx aadsy aadsz aadta aadtb aadtc aadtd aadte aadtf aadtg aadth aadti aadtj aadtk aadtl aadtm aadtn aadto aadtp aadtq aadtr aadts aadtt aadtu aadtv aadtw aadtx aadty aadtz aadua aadub aaduc aadud aadue aaduf aadug aaduh aadui aaduj aaduk aadul aadum aadun aaduo aadup aaduq aadur aadus aadut aaduu aaduv aaduw aadux aaduy aaduz aadva aadvb aadvc aadvd aadve aadvf aadvg aadvh aadvi aadvj aadvk aadvl aadvm aadvn aadvo aadvp aadvq aadvr aadvs aadvt aadvu aadvv aadvw aadvx aadvy aadvz aadwa aadwb aadwc aadwd aadwe aadwf aadwg aadwh aadwi aadwj aadwk aadwl aadwm aadwn aadwo aadwp aadwq aadwr aadws aadwt aadwu aadwv aadww aadwx aadwy aadwz aadxa aadxb aadxc aadxd aadxe aadxf aadxg aadxh aadxi aadxj aadxk aadxl aadxm aadxn aadxo aadxp aadxq aadxr aadxs aadxt aadxu aadxv aadxw aadxx aadxy aadxz aadya aadyb aadyc aadyd aadye aadyf aadyg aadyh aadyi aadyj aadyk aadyl aadym aadyn aadyo aadyp aadyq aadyr aadys aadyt aadyu aadyv aadyw aadyx aadyy aadyz aadza aadzb aadzc aadzd aadze aadzf aadzg aadzh aadzi aadzj aadzk aadzl aadzm aadzn aadzo aadzp aadzq aadzr aadzs aadzt aadzu aadzv aadzw aadzx aadzy aadzz aaeaa aaeab aaeac aaead aaeae aaeaf aaeag aaeah aaeai aaeaj aaeak aaeal aaeam aaean aaeao aaeap aaeaq aaear aaeas aaeat aaeau aaeav aaeaw aaeax aaeay aaeaz aaeba aaebb aaebc aaebd aaebe aaebf aaebg aaebh aaebi aaebj aaebk aaebl aaebm aaebn aaebo aaebp aaebq aaebr aaebs aaebt aaebu aaebv aaebw aaebx aaeby aaebz aaeca aaecb aaecc aaecd aaece aaecf aaecg aaech aaeci aaecj aaeck aaecl aaecm aaecn aaeco aaecp aaecq aaecr aaecs aaect aaecu aaecv aaecw aaecx aaecy aaecz aaeda aaedb aaedc aaedd aaede aaedf aaedg aaedh aaedi aaedj aaedk aaedl aaedm aaedn aaedo aaedp aaedq aaedr aaeds aaedt aaedu aaedv aaedw aaedx aaedy aaedz aaeea aaeeb aaeec aaeed aaeee aaeef aaeeg aaeeh aaeei aaeej aaeek aaeel aaeem aaeen aaeeo aaeep aaeeq aaeer aaees aaeet aaeeu aaeev aaeew aaeex aaeey aaeez aaefa aaefb aaefc aaefd aaefe aaeff aaefg aaefh aaefi aaefj aaefk aaefl aaefm aaefn aaefo aaefp aaefq aaefr aaefs aaeft aaefu aaefv aaefw aaefx aaefy aaefz aaega aaegb aaegc aaegd aaege aaegf aaegg aaegh aaegi aaegj aaegk aaegl aaegm aaegn aaego aaegp aaegq aaegr aaegs aaegt aaegu aaegv aaegw aaegx aaegy aaegz aaeha aaehb aaehc aaehd aaehe aaehf aaehg aaehh aaehi aaehj aaehk aaehl aaehm aaehn aaeho aaehp aaehq aaehr aaehs aaeht aaehu aaehv aaehw aaehx aaehy aaehz aaeia aaeib aaeic aaeid aaeie aaeif aaeig aaeih aaeii aaeij aaeik aaeil aaeim aaein aaeio aaeip aaeiq aaeir aaeis aaeit aaeiu aaeiv aaeiw aaeix aaeiy aaeiz aaeja aaejb aaejc aaejd aaeje aaejf aaejg aaejh aaeji aaejj aaejk aaejl aaejm aaejn aaejo aaejp aaejq aaejr aaejs aaejt aaeju aaejv aaejw aaejx aaejy aaejz aaeka aaekb aaekc aaekd aaeke aaekf aaekg aaekh aaeki aaekj aaekk aaekl aaekm aaekn aaeko aaekp aaekq aaekr aaeks aaekt aaeku aaekv aaekw aaekx aaeky aaekz aaela aaelb aaelc aaeld aaele aaelf aaelg aaelh aaeli aaelj aaelk aaell aaelm aaeln aaelo aaelp aaelq aaelr aaels aaelt aaelu aaelv aaelw aaelx aaely aaelz aaema aaemb aaemc aaemd aaeme aaemf aaemg aaemh aaemi aaemj aaemk aaeml aaemm aaemn aaemo aaemp aaemq aaemr aaems aaemt aaemu aaemv aaemw aaemx aaemy aaemz aaena aaenb aaenc aaend aaene aaenf aaeng aaenh aaeni aaenj aaenk aaenl aaenm aaenn aaeno aaenp aaenq aaenr aaens aaent aaenu aaenv aaenw aaenx aaeny aaenz aaeoa aaeob aaeoc aaeod aaeoe aaeof aaeog aaeoh aaeoi aaeoj aaeok aaeol aaeom aaeon aaeoo aaeop aaeoq aaeor aaeos aaeot aaeou aaeov aaeow aaeox aaeoy aaeoz aaepa aaepb aaepc aaepd aaepe aaepf aaepg aaeph aaepi aaepj aaepk aaepl aaepm aaepn aaepo aaepp aaepq aaepr aaeps aaept aaepu aaepv aaepw aaepx aaepy aaepz aaeqa aaeqb aaeqc aaeqd aaeqe aaeqf aaeqg aaeqh aaeqi aaeqj aaeqk aaeql aaeqm aaeqn aaeqo aaeqp aaeqq aaeqr aaeqs aaeqt aaequ aaeqv aaeqw aaeqx aaeqy aaeqz aaera aaerb aaerc aaerd aaere aaerf aaerg aaerh aaeri aaerj aaerk aaerl aaerm aaern aaero aaerp aaerq aaerr aaers aaert aaeru aaerv aaerw aaerx aaery aaerz aaesa aaesb aaesc aaesd aaese aaesf aaesg aaesh aaesi aaesj aaesk aaesl aaesm aaesn aaeso aaesp aaesq aaesr aaess aaest aaesu aaesv aaesw aaesx aaesy aaesz aaeta aaetb aaetc aaetd aaete aaetf aaetg aaeth aaeti aaetj aaetk aaetl aaetm aaetn aaeto aaetp aaetq aaetr aaets aaett aaetu aaetv aaetw aaetx aaety aaetz aaeua aaeub aaeuc aaeud aaeue aaeuf aaeug aaeuh aaeui aaeuj aaeuk aaeul aaeum aaeun aaeuo aaeup aaeuq aaeur aaeus aaeut aaeuu aaeuv aaeuw aaeux aaeuy aaeuz aaeva aaevb aaevc aaevd aaeve aaevf aaevg aaevh aaevi aaevj aaevk aaevl aaevm aaevn aaevo aaevp aaevq aaevr aaevs aaevt aaevu aaevv aaevw aaevx aaevy aaevz aaewa aaewb aaewc aaewd aaewe aaewf aaewg aaewh aaewi aaewj aaewk aaewl aaewm aaewn aaewo aaewp aaewq aaewr aaews aaewt aaewu aaewv aaeww aaewx aaewy aaewz aaexa aaexb aaexc aaexd aaexe aaexf aaexg aaexh aaexi aaexj aaexk aaexl aaexm aaexn aaexo aaexp aaexq aaexr aaexs aaext aaexu aaexv aaexw aaexx aaexy aaexz aaeya aaeyb aaeyc aaeyd aaeye aaeyf aaeyg aaeyh aaeyi aaeyj aaeyk aaeyl aaeym aaeyn aaeyo aaeyp aaeyq aaeyr aaeys aaeyt aaeyu aaeyv aaeyw aaeyx aaeyy aaeyz aaeza aaezb aaezc aaezd aaeze aaezf aaezg aaezh aaezi aaezj aaezk aaezl aaezm aaezn aaezo aaezp aaezq aaezr aaezs aaezt aaezu aaezv aaezw aaezx aaezy aaezz aafaa aafab aafac aafad aafae aafaf aafag aafah aafai aafaj aafak aafal aafam aafan aafao aafap aafaq aafar aafas aafat aafau aafav aafaw aafax aafay aafaz aafba aafbb aafbc aafbd aafbe aafbf aafbg aafbh aafbi aafbj aafbk aafbl aafbm aafbn aafbo aafbp aafbq aafbr aafbs aafbt aafbu aafbv aafbw aafbx aafby aafbz aafca aafcb aafcc aafcd aafce aafcf aafcg aafch aafci aafcj aafck aafcl aafcm aafcn aafco aafcp aafcq aafcr aafcs aafct aafcu aafcv aafcw aafcx aafcy aafcz aafda aafdb aafdc aafdd aafde aafdf aafdg aafdh aafdi aafdj aafdk aafdl aafdm aafdn aafdo aafdp aafdq aafdr aafds aafdt aafdu aafdv aafdw aafdx aafdy aafdz aafea aafeb aafec aafed aafee aafef aafeg aafeh aafei aafej aafek aafel aafem aafen aafeo aafep aafeq aafer aafes aafet aafeu aafev aafew aafex aafey aafez aaffa aaffb aaffc aaffd aaffe aafff aaffg aaffh aaffi aaffj aaffk aaffl aaffm aaffn aaffo aaffp aaffq aaffr aaffs aafft aaffu aaffv aaffw aaffx aaffy aaffz aafga aafgb aafgc aafgd aafge aafgf aafgg aafgh aafgi aafgj aafgk aafgl aafgm aafgn aafgo aafgp aafgq aafgr aafgs aafgt aafgu aafgv aafgw aafgx aafgy aafgz aafha aafhb aafhc aafhd aafhe aafhf aafhg aafhh aafhi aafhj aafhk aafhl aafhm aafhn aafho aafhp aafhq aafhr aafhs aafht aafhu aafhv aafhw aafhx aafhy aafhz aafia aafib aafic aafid aafie aafif aafig aafih aafii aafij aafik aafil aafim aafin aafio aafip aafiq aafir aafis aafit aafiu aafiv aafiw aafix aafiy aafiz aafja aafjb aafjc aafjd aafje aafjf aafjg aafjh aafji aafjj aafjk aafjl aafjm aafjn aafjo aafjp aafjq aafjr aafjs aafjt aafju aafjv aafjw aafjx aafjy aafjz aafka aafkb aafkc aafkd aafke aafkf aafkg aafkh aafki aafkj aafkk aafkl aafkm aafkn aafko aafkp aafkq aafkr aafks aafkt aafku aafkv aafkw aafkx aafky aafkz aafla aaflb aaflc aafld aafle aaflf aaflg aaflh aafli aaflj aaflk aafll aaflm aafln aaflo aaflp aaflq aaflr aafls aaflt aaflu aaflv aaflw aaflx aafly aaflz aafma aafmb aafmc aafmd aafme aafmf aafmg aafmh aafmi aafmj aafmk aafml aafmm aafmn aafmo aafmp aafmq aafmr aafms aafmt aafmu aafmv aafmw aafmx aafmy aafmz aafna aafnb aafnc aafnd aafne aafnf aafng aafnh aafni aafnj aafnk aafnl aafnm aafnn aafno aafnp aafnq aafnr aafns aafnt aafnu aafnv aafnw aafnx aafny aafnz aafoa aafob aafoc aafod aafoe aafof aafog aafoh aafoi aafoj aafok aafol aafom aafon aafoo aafop aafoq aafor aafos aafot aafou aafov aafow aafox aafoy aafoz aafpa aafpb aafpc aafpd aafpe aafpf aafpg aafph aafpi aafpj aafpk aafpl aafpm aafpn aafpo aafpp aafpq aafpr aafps aafpt aafpu aafpv aafpw aafpx aafpy aafpz aafqa aafqb aafqc aafqd aafqe aafqf aafqg aafqh aafqi aafqj aafqk aafql aafqm aafqn aafqo aafqp aafqq aafqr aafqs aafqt aafqu aafqv aafqw aafqx aafqy aafqz aafra aafrb aafrc aafrd aafre aafrf aafrg aafrh aafri aafrj aafrk aafrl aafrm aafrn aafro aafrp aafrq aafrr aafrs aafrt aafru aafrv aafrw aafrx aafry aafrz aafsa aafsb aafsc aafsd aafse aafsf aafsg aafsh aafsi aafsj aafsk aafsl aafsm aafsn aafso aafsp aafsq aafsr aafss aafst aafsu aafsv aafsw aafsx aafsy aafsz aafta aaftb aaftc aaftd aafte aaftf aaftg aafth aafti aaftj aaftk aaftl aaftm aaftn aafto aaftp aaftq aaftr aafts aaftt aaftu aaftv aaftw aaftx aafty aaftz aafua aafub aafuc aafud aafue aafuf aafug aafuh aafui aafuj aafuk aaful aafum aafun aafuo aafup aafuq aafur aafus aafut aafuu aafuv aafuw aafux aafuy aafuz aafva aafvb aafvc aafvd aafve aafvf aafvg aafvh aafvi aafvj aafvk aafvl aafvm aafvn aafvo aafvp aafvq aafvr aafvs aafvt aafvu aafvv aafvw aafvx aafvy aafvz aafwa aafwb aafwc aafwd aafwe aafwf aafwg aafwh aafwi aafwj aafwk aafwl aafwm aafwn aafwo aafwp aafwq aafwr aafws aafwt aafwu aafwv aafww aafwx aafwy aafwz aafxa aafxb aafxc aafxd aafxe aafxf aafxg aafxh aafxi aafxj aafxk aafxl aafxm aafxn aafxo aafxp aafxq aafxr aafxs aafxt aafxu aafxv aafxw aafxx aafxy aafxz aafya aafyb aafyc aafyd aafye aafyf aafyg aafyh aafyi aafyj aafyk aafyl aafym aafyn aafyo aafyp aafyq aafyr aafys aafyt aafyu aafyv aafyw aafyx aafyy aafyz aafza aafzb aafzc aafzd aafze aafzf aafzg aafzh aafzi aafzj aafzk aafzl aafzm aafzn aafzo aafzp aafzq aafzr aafzs aafzt aafzu aafzv aafzw aafzx aafzy aafzz aagaa aagab aagac aagad aagae aagaf aagag aagah aagai aagaj aagak aagal aagam aagan aagao aagap aagaq aagar aagas aagat aagau aagav aagaw aagax aagay aagaz aagba aagbb aagbc aagbd aagbe aagbf aagbg aagbh aagbi aagbj aagbk aagbl aagbm aagbn aagbo aagbp aagbq aagbr aagbs aagbt aagbu aagbv aagbw aagbx aagby aagbz aagca aagcb aagcc aagcd aagce aagcf aagcg aagch aagci aagcj aagck aagcl aagcm aagcn aagco aagcp aagcq aagcr aagcs aagct aagcu aagcv aagcw aagcx aagcy aagcz aagda aagdb aagdc aagdd aagde aagdf aagdg aagdh aagdi aagdj aagdk aagdl aagdm aagdn aagdo aagdp aagdq aagdr aagds aagdt aagdu aagdv aagdw aagdx aagdy aagdz aagea aageb aagec aaged aagee aagef aageg aageh aagei aagej aagek aagel aagem aagen aageo aagep aageq aager aages aaget aageu aagev aagew aagex aagey aagez aagfa aagfb aagfc aagfd aagfe aagff aagfg aagfh aagfi aagfj aagfk aagfl aagfm aagfn aagfo aagfp aagfq aagfr aagfs aagft aagfu aagfv aagfw aagfx aagfy aagfz aagga aaggb aaggc aaggd aagge aaggf aaggg aaggh aaggi aaggj aaggk aaggl aaggm aaggn aaggo aaggp aaggq aaggr aaggs aaggt aaggu aaggv aaggw aaggx aaggy aaggz aagha aaghb aaghc aaghd aaghe aaghf aaghg aaghh aaghi aaghj aaghk aaghl aaghm aaghn aagho aaghp aaghq aaghr aaghs aaght aaghu aaghv aaghw aaghx aaghy aaghz aagia aagib aagic aagid aagie aagif aagig aagih aagii aagij aagik aagil aagim aagin aagio aagip aagiq aagir aagis aagit aagiu aagiv aagiw aagix aagiy aagiz aagja aagjb aagjc aagjd aagje aagjf aagjg aagjh aagji aagjj aagjk aagjl aagjm aagjn aagjo aagjp aagjq aagjr aagjs aagjt aagju aagjv aagjw aagjx aagjy aagjz aagka aagkb aagkc aagkd aagke aagkf aagkg aagkh aagki aagkj aagkk aagkl aagkm aagkn aagko aagkp aagkq aagkr aagks aagkt aagku aagkv aagkw aagkx aagky aagkz aagla aaglb aaglc aagld aagle aaglf aaglg aaglh aagli aaglj aaglk aagll aaglm aagln aaglo aaglp aaglq aaglr aagls aaglt aaglu aaglv aaglw aaglx aagly aaglz aagma aagmb aagmc aagmd aagme aagmf aagmg aagmh aagmi aagmj aagmk aagml aagmm aagmn aagmo aagmp aagmq aagmr aagms aagmt aagmu aagmv aagmw aagmx aagmy aagmz aagna aagnb aagnc aagnd aagne aagnf aagng aagnh aagni aagnj aagnk aagnl aagnm aagnn aagno aagnp aagnq aagnr aagns aagnt aagnu aagnv aagnw aagnx aagny aagnz aagoa aagob aagoc aagod aagoe aagof aagog aagoh aagoi aagoj aagok aagol aagom aagon aagoo aagop aagoq aagor aagos aagot aagou aagov aagow aagox aagoy aagoz aagpa aagpb aagpc aagpd aagpe aagpf aagpg aagph aagpi aagpj aagpk aagpl aagpm aagpn aagpo aagpp aagpq aagpr aagps aagpt aagpu aagpv aagpw aagpx aagpy aagpz aagqa aagqb aagqc aagqd aagqe aagqf aagqg aagqh aagqi aagqj aagqk aagql aagqm aagqn aagqo aagqp aagqq aagqr aagqs aagqt aagqu aagqv aagqw aagqx aagqy aagqz aagra aagrb aagrc aagrd aagre aagrf aagrg aagrh aagri aagrj aagrk aagrl aagrm aagrn aagro aagrp aagrq aagrr aagrs aagrt aagru aagrv aagrw aagrx aagry aagrz aagsa aagsb aagsc aagsd aagse aagsf aagsg aagsh aagsi aagsj aagsk aagsl aagsm aagsn aagso aagsp aagsq aagsr aagss aagst aagsu aagsv aagsw aagsx aagsy aagsz aagta aagtb aagtc aagtd aagte aagtf aagtg aagth aagti aagtj aagtk aagtl aagtm aagtn aagto aagtp aagtq aagtr aagts aagtt aagtu aagtv aagtw aagtx aagty aagtz aagua aagub aaguc aagud aague aaguf aagug aaguh aagui aaguj aaguk aagul aagum aagun aaguo aagup aaguq aagur aagus aagut aaguu aaguv aaguw aagux aaguy aaguz aagva aagvb aagvc aagvd aagve aagvf aagvg aagvh aagvi aagvj aagvk aagvl aagvm aagvn aagvo aagvp aagvq aagvr aagvs aagvt aagvu aagvv aagvw aagvx aagvy aagvz aagwa aagwb aagwc aagwd aagwe aagwf aagwg aagwh aagwi aagwj aagwk aagwl aagwm aagwn aagwo aagwp aagwq aagwr aagws aagwt aagwu aagwv aagww aagwx aagwy aagwz aagxa aagxb aagxc aagxd aagxe aagxf aagxg aagxh aagxi aagxj aagxk aagxl aagxm aagxn aagxo aagxp aagxq aagxr aagxs aagxt aagxu aagxv aagxw aagxx aagxy aagxz aagya aagyb aagyc aagyd aagye aagyf aagyg aagyh aagyi aagyj aagyk aagyl aagym aagyn aagyo aagyp aagyq aagyr aagys aagyt aagyu aagyv aagyw aagyx aagyy aagyz aagza aagzb aagzc aagzd aagze aagzf aagzg aagzh aagzi aagzj aagzk aagzl aagzm aagzn aagzo aagzp aagzq aagzr aagzs aagzt aagzu aagzv aagzw aagzx aagzy aagzz aahaa aahab aahac aahad aahae aahaf aahag aahah aahai aahaj aahak aahal aaham aahan aahao aahap aahaq aahar aahas aahat aahau aahav aahaw aahax aahay aahaz aahba aahbb aahbc aahbd aahbe aahbf aahbg aahbh aahbi aahbj aahbk aahbl aahbm aahbn aahbo aahbp aahbq aahbr aahbs aahbt aahbu aahbv aahbw aahbx aahby aahbz aahca aahcb aahcc aahcd aahce aahcf aahcg aahch aahci aahcj aahck aahcl aahcm aahcn aahco aahcp aahcq aahcr aahcs aahct aahcu aahcv aahcw aahcx aahcy aahcz aahda aahdb aahdc aahdd aahde aahdf aahdg aahdh aahdi aahdj aahdk aahdl aahdm aahdn aahdo aahdp aahdq aahdr aahds aahdt aahdu aahdv aahdw aahdx aahdy aahdz aahea aaheb aahec aahed aahee aahef aaheg aaheh aahei aahej aahek aahel aahem aahen aaheo aahep aaheq aaher aahes aahet aaheu aahev aahew aahex aahey aahez aahfa aahfb aahfc aahfd aahfe aahff aahfg aahfh aahfi aahfj aahfk aahfl aahfm aahfn aahfo aahfp aahfq aahfr aahfs aahft aahfu aahfv aahfw aahfx aahfy aahfz aahga aahgb aahgc aahgd aahge aahgf aahgg aahgh aahgi aahgj aahgk aahgl aahgm aahgn aahgo aahgp aahgq aahgr aahgs aahgt aahgu aahgv aahgw aahgx aahgy aahgz aahha aahhb aahhc aahhd aahhe aahhf aahhg aahhh aahhi aahhj aahhk aahhl aahhm aahhn aahho aahhp aahhq aahhr aahhs aahht aahhu aahhv aahhw aahhx aahhy aahhz aahia aahib aahic aahid aahie aahif aahig aahih aahii aahij aahik aahil aahim aahin aahio aahip aahiq aahir aahis aahit aahiu aahiv aahiw aahix aahiy aahiz aahja aahjb aahjc aahjd aahje aahjf aahjg aahjh aahji aahjj aahjk aahjl aahjm aahjn aahjo aahjp aahjq aahjr aahjs aahjt aahju aahjv aahjw aahjx aahjy aahjz aahka aahkb aahkc aahkd aahke aahkf aahkg aahkh aahki aahkj aahkk aahkl aahkm aahkn aahko aahkp aahkq aahkr aahks aahkt aahku aahkv aahkw aahkx aahky aahkz aahla aahlb aahlc aahld aahle aahlf aahlg aahlh aahli aahlj aahlk aahll aahlm aahln aahlo aahlp aahlq aahlr aahls aahlt aahlu aahlv aahlw aahlx aahly aahlz aahma aahmb aahmc aahmd aahme aahmf aahmg aahmh aahmi aahmj aahmk aahml aahmm aahmn aahmo aahmp aahmq aahmr aahms aahmt aahmu aahmv aahmw aahmx aahmy aahmz aahna aahnb aahnc aahnd aahne aahnf aahng aahnh aahni aahnj aahnk aahnl aahnm aahnn aahno aahnp aahnq aahnr aahns aahnt aahnu aahnv aahnw aahnx aahny aahnz aahoa aahob aahoc aahod aahoe aahof aahog aahoh aahoi aahoj aahok aahol aahom aahon aahoo aahop aahoq aahor aahos aahot aahou aahov aahow aahox aahoy aahoz aahpa aahpb aahpc aahpd aahpe aahpf aahpg aahph aahpi aahpj aahpk aahpl aahpm aahpn aahpo aahpp aahpq aahpr aahps aahpt aahpu aahpv aahpw aahpx aahpy aahpz aahqa aahqb aahqc aahqd aahqe aahqf aahqg aahqh aahqi aahqj aahqk aahql aahqm aahqn aahqo aahqp aahqq aahqr aahqs aahqt aahqu aahqv aahqw aahqx aahqy aahqz aahra aahrb aahrc aahrd aahre aahrf aahrg aahrh aahri aahrj aahrk aahrl aahrm aahrn aahro aahrp aahrq aahrr aahrs aahrt aahru aahrv aahrw aahrx aahry aahrz aahsa aahsb aahsc aahsd aahse aahsf aahsg aahsh aahsi aahsj aahsk aahsl aahsm aahsn aahso aahsp aahsq aahsr aahss aahst aahsu aahsv aahsw aahsx aahsy aahsz aahta aahtb aahtc aahtd aahte aahtf aahtg aahth aahti aahtj aahtk aahtl aahtm aahtn aahto aahtp aahtq aahtr aahts aahtt aahtu aahtv aahtw aahtx aahty aahtz aahua aahub aahuc aahud aahue aahuf aahug aahuh aahui aahuj aahuk aahul aahum aahun aahuo aahup aahuq aahur aahus aahut aahuu aahuv aahuw aahux aahuy aahuz aahva aahvb aahvc aahvd aahve aahvf aahvg aahvh aahvi aahvj aahvk aahvl aahvm aahvn aahvo aahvp aahvq aahvr aahvs aahvt aahvu aahvv aahvw aahvx aahvy aahvz aahwa aahwb aahwc aahwd aahwe aahwf aahwg aahwh aahwi aahwj aahwk aahwl aahwm aahwn aahwo aahwp aahwq aahwr aahws aahwt aahwu aahwv aahww aahwx aahwy aahwz aahxa aahxb aahxc aahxd aahxe aahxf aahxg aahxh aahxi aahxj aahxk aahxl aahxm aahxn aahxo aahxp aahxq aahxr aahxs aahxt aahxu aahxv aahxw aahxx aahxy aahxz aahya aahyb aahyc aahyd aahye aahyf aahyg aahyh aahyi aahyj aahyk aahyl aahym aahyn aahyo aahyp aahyq aahyr aahys aahyt aahyu aahyv aahyw aahyx aahyy aahyz aahza aahzb aahzc aahzd aahze aahzf aahzg aahzh aahzi aahzj aahzk aahzl aahzm aahzn aahzo aahzp aahzq aahzr aahzs aahzt aahzu aahzv aahzw aahzx aahzy aahzz aaiaa aaiab aaiac aaiad aaiae aaiaf aaiag aaiah aaiai aaiaj aaiak aaial aaiam aaian aaiao aaiap aaiaq aaiar aaias aaiat aaiau aaiav aaiaw aaiax aaiay aaiaz aaiba aaibb aaibc aaibd aaibe aaibf aaibg aaibh aaibi aaibj aaibk aaibl aaibm aaibn aaibo aaibp aaibq aaibr aaibs aaibt aaibu aaibv aaibw aaibx aaiby aaibz aaica aaicb aaicc aaicd aaice aaicf aaicg aaich aaici aaicj aaick aaicl aaicm aaicn aaico aaicp aaicq aaicr aaics aaict aaicu aaicv aaicw aaicx aaicy aaicz aaida aaidb aaidc aaidd aaide aaidf aaidg aaidh aaidi aaidj aaidk aaidl aaidm aaidn aaido aaidp aaidq aaidr aaids aaidt aaidu aaidv aaidw aaidx aaidy aaidz aaiea aaieb aaiec aaied aaiee aaief aaieg aaieh aaiei aaiej aaiek aaiel aaiem aaien aaieo aaiep aaieq aaier aaies aaiet aaieu aaiev aaiew aaiex aaiey aaiez aaifa aaifb aaifc aaifd aaife aaiff aaifg aaifh aaifi aaifj aaifk aaifl aaifm aaifn aaifo aaifp aaifq aaifr aaifs aaift aaifu aaifv aaifw aaifx aaify aaifz aaiga aaigb aaigc aaigd aaige aaigf aaigg aaigh aaigi aaigj aaigk aaigl aaigm aaign aaigo aaigp aaigq aaigr aaigs aaigt aaigu aaigv aaigw aaigx aaigy aaigz aaiha aaihb aaihc aaihd aaihe aaihf aaihg aaihh aaihi aaihj aaihk aaihl aaihm aaihn aaiho aaihp aaihq aaihr aaihs aaiht aaihu aaihv aaihw aaihx aaihy aaihz aaiia aaiib aaiic aaiid aaiie aaiif aaiig aaiih aaiii aaiij aaiik aaiil aaiim aaiin aaiio aaiip aaiiq aaiir aaiis aaiit aaiiu aaiiv aaiiw aaiix aaiiy aaiiz aaija aaijb aaijc aaijd aaije aaijf aaijg aaijh aaiji aaijj aaijk aaijl aaijm aaijn aaijo aaijp aaijq aaijr aaijs aaijt aaiju aaijv aaijw aaijx aaijy aaijz aaika aaikb aaikc aaikd aaike aaikf aaikg aaikh aaiki aaikj aaikk aaikl aaikm aaikn aaiko aaikp aaikq aaikr aaiks aaikt aaiku aaikv aaikw aaikx aaiky aaikz aaila aailb aailc aaild aaile aailf aailg aailh aaili aailj aailk aaill aailm aailn aailo aailp aailq aailr aails aailt aailu aailv aailw aailx aaily aailz aaima aaimb aaimc aaimd aaime aaimf aaimg aaimh aaimi aaimj aaimk aaiml aaimm aaimn aaimo aaimp aaimq aaimr aaims aaimt aaimu aaimv aaimw aaimx aaimy aaimz aaina aainb aainc aaind aaine aainf aaing aainh aaini aainj aaink aainl aainm aainn aaino aainp aainq aainr aains aaint aainu aainv aainw aainx aainy aainz aaioa aaiob aaioc aaiod aaioe aaiof aaiog aaioh aaioi aaioj aaiok aaiol aaiom aaion aaioo aaiop aaioq aaior aaios aaiot aaiou aaiov aaiow aaiox aaioy aaioz aaipa aaipb aaipc aaipd aaipe aaipf aaipg aaiph aaipi aaipj aaipk aaipl aaipm aaipn aaipo aaipp aaipq aaipr aaips aaipt aaipu aaipv aaipw aaipx aaipy aaipz aaiqa aaiqb aaiqc aaiqd aaiqe aaiqf aaiqg aaiqh aaiqi aaiqj aaiqk aaiql aaiqm aaiqn aaiqo aaiqp aaiqq aaiqr aaiqs aaiqt aaiqu aaiqv aaiqw aaiqx aaiqy aaiqz aaira aairb aairc aaird aaire aairf aairg aairh aairi aairj aairk aairl aairm aairn aairo aairp aairq aairr aairs aairt aairu aairv aairw aairx aairy aairz aaisa aaisb aaisc aaisd aaise aaisf aaisg aaish aaisi aaisj aaisk aaisl aaism aaisn aaiso aaisp aaisq aaisr aaiss aaist aaisu aaisv aaisw aaisx aaisy aaisz aaita aaitb aaitc aaitd aaite aaitf aaitg aaith aaiti aaitj aaitk aaitl aaitm aaitn aaito aaitp aaitq aaitr aaits aaitt aaitu aaitv aaitw aaitx aaity aaitz aaiua aaiub aaiuc aaiud aaiue aaiuf aaiug aaiuh aaiui aaiuj aaiuk aaiul aaium aaiun aaiuo aaiup aaiuq aaiur aaius aaiut aaiuu aaiuv aaiuw aaiux aaiuy aaiuz aaiva aaivb aaivc aaivd aaive aaivf aaivg aaivh aaivi aaivj aaivk aaivl aaivm aaivn aaivo aaivp aaivq aaivr aaivs aaivt aaivu aaivv aaivw aaivx aaivy aaivz aaiwa aaiwb aaiwc aaiwd aaiwe aaiwf aaiwg aaiwh aaiwi aaiwj aaiwk aaiwl aaiwm aaiwn aaiwo aaiwp aaiwq aaiwr aaiws aaiwt aaiwu aaiwv aaiww aaiwx aaiwy aaiwz aaixa aaixb aaixc aaixd aaixe aaixf aaixg aaixh aaixi aaixj aaixk aaixl aaixm aaixn aaixo aaixp aaixq aaixr aaixs aaixt aaixu aaixv aaixw aaixx aaixy aaixz aaiya aaiyb aaiyc aaiyd aaiye aaiyf aaiyg aaiyh aaiyi aaiyj aaiyk aaiyl aaiym aaiyn aaiyo aaiyp aaiyq aaiyr aaiys aaiyt aaiyu aaiyv aaiyw aaiyx aaiyy aaiyz aaiza aaizb aaizc aaizd aaize aaizf aaizg aaizh aaizi aaizj aaizk aaizl aaizm aaizn aaizo aaizp aaizq aaizr aaizs aaizt aaizu aaizv aaizw aaizx aaizy aaizz aajaa aajab aajac aajad aajae aajaf aajag aajah aajai aajaj aajak aajal aajam aajan aajao aajap aajaq aajar aajas aajat aajau aajav aajaw aajax aajay aajaz aajba aajbb aajbc aajbd aajbe aajbf aajbg aajbh aajbi aajbj aajbk aajbl aajbm aajbn aajbo aajbp aajbq aajbr aajbs aajbt aajbu aajbv aajbw aajbx aajby aajbz aajca aajcb aajcc aajcd aajce aajcf aajcg aajch aajci aajcj aajck aajcl aajcm aajcn aajco aajcp aajcq aajcr aajcs aajct aajcu aajcv aajcw aajcx aajcy aajcz aajda aajdb aajdc aajdd aajde aajdf aajdg aajdh aajdi aajdj aajdk aajdl aajdm aajdn aajdo aajdp aajdq aajdr aajds aajdt aajdu aajdv aajdw aajdx aajdy aajdz aajea aajeb aajec aajed aajee aajef aajeg aajeh aajei aajej aajek aajel aajem aajen aajeo aajep aajeq aajer aajes aajet aajeu aajev aajew aajex aajey aajez aajfa aajfb aajfc aajfd aajfe aajff aajfg aajfh aajfi aajfj aajfk aajfl aajfm aajfn aajfo aajfp aajfq aajfr aajfs aajft aajfu aajfv aajfw aajfx aajfy aajfz aajga aajgb aajgc aajgd aajge aajgf aajgg aajgh aajgi aajgj aajgk aajgl aajgm aajgn aajgo aajgp aajgq aajgr aajgs aajgt aajgu aajgv aajgw aajgx aajgy aajgz aajha aajhb aajhc aajhd aajhe aajhf aajhg aajhh aajhi aajhj aajhk aajhl aajhm aajhn aajho aajhp aajhq aajhr aajhs aajht aajhu aajhv aajhw aajhx aajhy aajhz aajia aajib aajic aajid aajie aajif aajig aajih aajii aajij aajik aajil aajim aajin aajio aajip aajiq aajir aajis aajit aajiu aajiv aajiw aajix aajiy aajiz aajja aajjb aajjc aajjd aajje aajjf aajjg aajjh aajji aajjj aajjk aajjl aajjm aajjn aajjo aajjp aajjq aajjr aajjs aajjt aajju aajjv aajjw aajjx aajjy aajjz aajka aajkb aajkc aajkd aajke aajkf aajkg aajkh aajki aajkj aajkk aajkl aajkm aajkn aajko aajkp aajkq aajkr aajks aajkt aajku aajkv aajkw aajkx aajky aajkz aajla aajlb aajlc aajld aajle aajlf aajlg aajlh aajli aajlj aajlk aajll aajlm aajln aajlo aajlp aajlq aajlr aajls aajlt aajlu aajlv aajlw aajlx aajly aajlz aajma aajmb aajmc aajmd aajme aajmf aajmg aajmh aajmi aajmj aajmk aajml aajmm aajmn aajmo aajmp aajmq aajmr aajms aajmt aajmu aajmv aajmw aajmx aajmy aajmz aajna aajnb aajnc aajnd aajne aajnf aajng aajnh aajni aajnj aajnk aajnl aajnm aajnn aajno aajnp aajnq aajnr aajns aajnt aajnu aajnv aajnw aajnx aajny aajnz aajoa aajob aajoc aajod aajoe aajof aajog aajoh aajoi aajoj aajok aajol aajom aajon aajoo aajop aajoq aajor aajos aajot aajou aajov aajow aajox aajoy aajoz aajpa aajpb aajpc aajpd aajpe aajpf aajpg aajph aajpi aajpj aajpk aajpl aajpm aajpn aajpo aajpp aajpq aajpr aajps aajpt aajpu aajpv aajpw aajpx aajpy aajpz aajqa aajqb aajqc aajqd aajqe aajqf aajqg aajqh aajqi aajqj aajqk aajql aajqm aajqn aajqo aajqp aajqq aajqr aajqs aajqt aajqu aajqv aajqw aajqx aajqy aajqz aajra aajrb aajrc aajrd aajre aajrf aajrg aajrh aajri aajrj aajrk aajrl aajrm aajrn aajro aajrp aajrq aajrr aajrs aajrt aajru aajrv aajrw aajrx aajry aajrz aajsa aajsb aajsc aajsd aajse aajsf aajsg aajsh aajsi aajsj aajsk aajsl aajsm aajsn aajso aajsp aajsq aajsr aajss aajst aajsu aajsv aajsw aajsx aajsy aajsz aajta aajtb aajtc aajtd aajte aajtf aajtg aajth aajti aajtj aajtk aajtl aajtm aajtn aajto aajtp aajtq aajtr aajts aajtt aajtu aajtv aajtw aajtx aajty aajtz aajua aajub aajuc aajud aajue aajuf aajug aajuh aajui aajuj aajuk aajul aajum aajun aajuo aajup aajuq aajur aajus aajut aajuu aajuv aajuw aajux aajuy aajuz aajva aajvb aajvc aajvd aajve aajvf aajvg aajvh aajvi aajvj aajvk aajvl aajvm aajvn aajvo aajvp aajvq aajvr aajvs aajvt aajvu aajvv aajvw aajvx aajvy aajvz aajwa aajwb aajwc aajwd aajwe aajwf aajwg aajwh aajwi aajwj aajwk aajwl aajwm aajwn aajwo aajwp aajwq aajwr aajws aajwt aajwu aajwv aajww aajwx aajwy aajwz aajxa aajxb aajxc aajxd aajxe aajxf aajxg aajxh aajxi aajxj aajxk aajxl aajxm aajxn aajxo aajxp aajxq aajxr aajxs aajxt aajxu aajxv aajxw aajxx aajxy aajxz aajya aajyb aajyc aajyd aajye aajyf aajyg aajyh aajyi aajyj aajyk aajyl aajym aajyn aajyo aajyp aajyq aajyr aajys aajyt aajyu aajyv aajyw aajyx aajyy aajyz aajza aajzb aajzc aajzd aajze aajzf aajzg aajzh aajzi aajzj aajzk aajzl aajzm aajzn aajzo aajzp aajzq aajzr aajzs aajzt aajzu aajzv aajzw aajzx aajzy aajzz aakaa aakab aakac aakad aakae aakaf aakag aakah aakai aakaj aakak aakal aakam aakan aakao aakap aakaq aakar aakas aakat aakau aakav aakaw aakax aakay aakaz aakba aakbb aakbc aakbd aakbe aakbf aakbg aakbh aakbi aakbj aakbk aakbl aakbm aakbn aakbo aakbp aakbq aakbr aakbs aakbt aakbu aakbv aakbw aakbx aakby aakbz aakca aakcb aakcc aakcd aakce aakcf aakcg aakch aakci aakcj aakck aakcl aakcm aakcn aakco aakcp aakcq aakcr aakcs aakct aakcu aakcv aakcw aakcx aakcy aakcz aakda aakdb aakdc aakdd aakde aakdf aakdg aakdh aakdi aakdj aakdk aakdl aakdm aakdn aakdo aakdp aakdq aakdr aakds aakdt aakdu aakdv aakdw aakdx aakdy aakdz aakea aakeb aakec aaked aakee aakef aakeg aakeh aakei aakej aakek aakel aakem aaken aakeo aakep aakeq aaker aakes aaket aakeu aakev aakew aakex aakey aakez aakfa aakfb aakfc aakfd aakfe aakff aakfg aakfh aakfi aakfj aakfk aakfl aakfm aakfn aakfo aakfp aakfq aakfr aakfs aakft aakfu aakfv aakfw aakfx aakfy aakfz aakga aakgb aakgc aakgd aakge aakgf aakgg aakgh aakgi aakgj aakgk aakgl aakgm aakgn aakgo aakgp aakgq aakgr aakgs aakgt aakgu aakgv aakgw aakgx aakgy aakgz aakha aakhb aakhc aakhd aakhe aakhf aakhg aakhh aakhi aakhj aakhk aakhl aakhm aakhn aakho aakhp aakhq aakhr aakhs aakht aakhu aakhv aakhw aakhx aakhy aakhz aakia aakib aakic aakid aakie aakif aakig aakih aakii aakij aakik aakil aakim aakin aakio aakip aakiq aakir aakis aakit aakiu aakiv aakiw aakix aakiy aakiz aakja aakjb aakjc aakjd aakje aakjf aakjg aakjh aakji aakjj aakjk aakjl aakjm aakjn aakjo aakjp aakjq aakjr aakjs aakjt aakju aakjv aakjw aakjx aakjy aakjz aakka aakkb aakkc aakkd aakke aakkf aakkg aakkh aakki aakkj aakkk aakkl aakkm aakkn aakko aakkp aakkq aakkr aakks aakkt aakku aakkv aakkw aakkx aakky aakkz aakla aaklb aaklc aakld aakle aaklf aaklg aaklh aakli aaklj aaklk aakll aaklm aakln aaklo aaklp aaklq aaklr aakls aaklt aaklu aaklv aaklw aaklx aakly aaklz aakma aakmb aakmc aakmd aakme aakmf aakmg aakmh aakmi aakmj aakmk aakml aakmm aakmn aakmo aakmp aakmq aakmr aakms aakmt aakmu aakmv aakmw aakmx aakmy aakmz aakna aaknb aaknc aaknd aakne aaknf aakng aaknh aakni aaknj aaknk aaknl aaknm aaknn aakno aaknp aaknq aaknr aakns aaknt aaknu aaknv aaknw aaknx aakny aaknz aakoa aakob aakoc aakod aakoe aakof aakog aakoh aakoi aakoj aakok aakol aakom aakon aakoo aakop aakoq aakor aakos aakot aakou aakov aakow aakox aakoy aakoz aakpa aakpb aakpc aakpd aakpe aakpf aakpg aakph aakpi aakpj aakpk aakpl aakpm aakpn aakpo aakpp aakpq aakpr aakps aakpt aakpu aakpv aakpw aakpx aakpy aakpz aakqa aakqb aakqc aakqd aakqe aakqf aakqg aakqh aakqi aakqj aakqk aakql aakqm aakqn aakqo aakqp aakqq aakqr aakqs aakqt aakqu aakqv aakqw aakqx aakqy aakqz aakra aakrb aakrc aakrd aakre aakrf aakrg aakrh aakri aakrj aakrk aakrl aakrm aakrn aakro aakrp aakrq aakrr aakrs aakrt aakru aakrv aakrw aakrx aakry aakrz aaksa aaksb aaksc aaksd aakse aaksf aaksg aaksh aaksi aaksj aaksk aaksl aaksm aaksn aakso aaksp aaksq aaksr aakss aakst aaksu aaksv aaksw aaksx aaksy aaksz aakta aaktb aaktc aaktd aakte aaktf aaktg aakth aakti aaktj aaktk aaktl aaktm aaktn aakto aaktp aaktq aaktr aakts aaktt aaktu aaktv aaktw aaktx aakty aaktz aakua aakub aakuc aakud aakue aakuf aakug aakuh aakui aakuj aakuk aakul aakum aakun aakuo aakup aakuq aakur aakus aakut aakuu aakuv aakuw aakux aakuy aakuz aakva aakvb aakvc aakvd aakve aakvf aakvg aakvh aakvi aakvj aakvk aakvl aakvm aakvn aakvo aakvp aakvq aakvr aakvs aakvt aakvu aakvv aakvw aakvx aakvy aakvz aakwa aakwb aakwc aakwd aakwe aakwf aakwg aakwh aakwi aakwj aakwk aakwl aakwm aakwn aakwo aakwp aakwq aakwr aakws aakwt aakwu aakwv aakww aakwx aakwy aakwz aakxa aakxb aakxc aakxd aakxe aakxf aakxg aakxh aakxi aakxj aakxk aakxl aakxm aakxn aakxo aakxp aakxq aakxr aakxs aakxt aakxu aakxv aakxw aakxx aakxy aakxz aakya aakyb aakyc aakyd aakye aakyf aakyg aakyh aakyi aakyj aakyk aakyl aakym aakyn aakyo aakyp aakyq aakyr aakys aakyt aakyu aakyv aakyw aakyx aakyy aakyz aakza aakzb aakzc aakzd aakze aakzf aakzg aakzh aakzi aakzj aakzk aakzl aakzm aakzn aakzo aakzp aakzq aakzr aakzs aakzt aakzu aakzv aakzw aakzx aakzy aakzz aalaa aalab aalac aalad aalae aalaf aalag aalah aalai aalaj aalak aalal aalam aalan aalao aalap aalaq aalar aalas aalat aalau aalav aalaw aalax aalay aalaz aalba aalbb aalbc aalbd aalbe aalbf aalbg aalbh aalbi aalbj aalbk aalbl aalbm aalbn aalbo aalbp aalbq aalbr aalbs aalbt aalbu aalbv aalbw aalbx aalby aalbz aalca aalcb aalcc aalcd aalce aalcf aalcg aalch aalci aalcj aalck aalcl aalcm aalcn aalco aalcp aalcq aalcr aalcs aalct aalcu aalcv aalcw aalcx aalcy aalcz aalda aaldb aaldc aaldd aalde aaldf aaldg aaldh aaldi aaldj aaldk aaldl aaldm aaldn aaldo aaldp aaldq aaldr aalds aaldt aaldu aaldv aaldw aaldx aaldy aaldz aalea aaleb aalec aaled aalee aalef aaleg aaleh aalei aalej aalek aalel aalem aalen aaleo aalep aaleq aaler aales aalet aaleu aalev aalew aalex aaley aalez aalfa aalfb aalfc aalfd aalfe aalff aalfg aalfh aalfi aalfj aalfk aalfl aalfm aalfn aalfo aalfp aalfq aalfr aalfs aalft aalfu aalfv aalfw aalfx aalfy aalfz aalga aalgb aalgc aalgd aalge aalgf aalgg aalgh aalgi aalgj aalgk aalgl aalgm aalgn aalgo aalgp aalgq aalgr aalgs aalgt aalgu aalgv aalgw aalgx aalgy aalgz aalha aalhb aalhc aalhd aalhe aalhf aalhg aalhh aalhi aalhj aalhk aalhl aalhm aalhn aalho aalhp aalhq aalhr aalhs aalht aalhu aalhv aalhw aalhx aalhy aalhz aalia aalib aalic aalid aalie aalif aalig aalih aalii aalij aalik aalil aalim aalin aalio aalip aaliq aalir aalis aalit aaliu aaliv aaliw aalix aaliy aaliz aalja aaljb aaljc aaljd aalje aaljf aaljg aaljh aalji aaljj aaljk aaljl aaljm aaljn aaljo aaljp aaljq aaljr aaljs aaljt aalju aaljv aaljw aaljx aaljy aaljz aalka aalkb aalkc aalkd aalke aalkf aalkg aalkh aalki aalkj aalkk aalkl aalkm aalkn aalko aalkp aalkq aalkr aalks aalkt aalku aalkv aalkw aalkx aalky aalkz aalla aallb aallc aalld aalle aallf aallg aallh aalli aallj aallk aalll aallm aalln aallo aallp aallq aallr aalls aallt aallu aallv aallw aallx aally aallz aalma aalmb aalmc aalmd aalme aalmf aalmg aalmh aalmi aalmj aalmk aalml aalmm aalmn aalmo aalmp aalmq aalmr aalms aalmt aalmu aalmv aalmw aalmx aalmy aalmz aalna aalnb aalnc aalnd aalne aalnf aalng aalnh aalni aalnj aalnk aalnl aalnm aalnn aalno aalnp aalnq aalnr aalns aalnt aalnu aalnv aalnw aalnx aalny aalnz aaloa aalob aaloc aalod aaloe aalof aalog aaloh aaloi aaloj aalok aalol aalom aalon aaloo aalop aaloq aalor aalos aalot aalou aalov aalow aalox aaloy aaloz aalpa aalpb aalpc aalpd aalpe aalpf aalpg aalph aalpi aalpj aalpk aalpl aalpm aalpn aalpo aalpp aalpq aalpr aalps aalpt aalpu aalpv aalpw aalpx aalpy aalpz aalqa aalqb aalqc aalqd aalqe aalqf aalqg aalqh aalqi aalqj aalqk aalql aalqm aalqn aalqo aalqp aalqq aalqr aalqs aalqt aalqu aalqv aalqw aalqx aalqy aalqz aalra aalrb aalrc aalrd aalre aalrf aalrg aalrh aalri aalrj aalrk aalrl aalrm aalrn aalro aalrp aalrq aalrr aalrs aalrt aalru aalrv aalrw aalrx aalry aalrz aalsa aalsb aalsc aalsd aalse aalsf aalsg aalsh aalsi aalsj aalsk aalsl aalsm aalsn aalso aalsp aalsq aalsr aalss aalst aalsu aalsv aalsw aalsx aalsy aalsz aalta aaltb aaltc aaltd aalte aaltf aaltg aalth aalti aaltj aaltk aaltl aaltm aaltn aalto aaltp aaltq aaltr aalts aaltt aaltu aaltv aaltw aaltx aalty aaltz aalua aalub aaluc aalud aalue aaluf aalug aaluh aalui aaluj aaluk aalul aalum aalun aaluo aalup aaluq aalur aalus aalut aaluu aaluv aaluw aalux aaluy aaluz aalva aalvb aalvc aalvd aalve aalvf aalvg aalvh aalvi aalvj aalvk aalvl aalvm aalvn aalvo aalvp aalvq aalvr aalvs aalvt aalvu aalvv aalvw aalvx aalvy aalvz aalwa aalwb aalwc aalwd aalwe aalwf aalwg aalwh aalwi aalwj aalwk aalwl aalwm aalwn aalwo aalwp aalwq aalwr aalws aalwt aalwu aalwv aalww aalwx aalwy aalwz aalxa aalxb aalxc aalxd aalxe aalxf aalxg aalxh aalxi aalxj aalxk aalxl aalxm aalxn aalxo aalxp aalxq aalxr aalxs aalxt aalxu aalxv aalxw aalxx aalxy aalxz aalya aalyb aalyc aalyd aalye aalyf aalyg aalyh aalyi aalyj aalyk aalyl aalym aalyn aalyo aalyp aalyq aalyr aalys aalyt aalyu aalyv aalyw aalyx aalyy aalyz aalza aalzb aalzc aalzd aalze aalzf aalzg aalzh aalzi aalzj aalzk aalzl aalzm aalzn aalzo aalzp aalzq aalzr aalzs aalzt aalzu aalzv aalzw aalzx aalzy aalzz aamaa aamab aamac aamad aamae aamaf aamag aamah aamai aamaj aamak aamal aamam aaman aamao aamap aamaq aamar aamas aamat aamau aamav aamaw aamax aamay aamaz aamba aambb aambc aambd aambe aambf aambg aambh aambi aambj aambk aambl aambm aambn aambo aambp aambq aambr aambs aambt aambu aambv aambw aambx aamby aambz aamca aamcb aamcc aamcd aamce aamcf aamcg aamch aamci aamcj aamck aamcl aamcm aamcn aamco aamcp aamcq aamcr aamcs aamct aamcu aamcv aamcw aamcx aamcy aamcz aamda aamdb aamdc aamdd aamde aamdf aamdg aamdh aamdi aamdj aamdk aamdl aamdm aamdn aamdo aamdp aamdq aamdr aamds aamdt aamdu aamdv aamdw aamdx aamdy aamdz aamea aameb aamec aamed aamee aamef aameg aameh aamei aamej aamek aamel aamem aamen aameo aamep aameq aamer aames aamet aameu aamev aamew aamex aamey aamez aamfa aamfb aamfc aamfd aamfe aamff aamfg aamfh aamfi aamfj aamfk aamfl aamfm aamfn aamfo aamfp aamfq aamfr aamfs aamft aamfu aamfv aamfw aamfx aamfy aamfz aamga aamgb aamgc aamgd aamge aamgf aamgg aamgh aamgi aamgj aamgk aamgl aamgm aamgn aamgo aamgp aamgq aamgr aamgs aamgt aamgu aamgv aamgw aamgx aamgy aamgz aamha aamhb aamhc aamhd aamhe aamhf aamhg aamhh aamhi aamhj aamhk aamhl aamhm aamhn aamho aamhp aamhq aamhr aamhs aamht aamhu aamhv aamhw aamhx aamhy aamhz aamia aamib aamic aamid aamie aamif aamig aamih aamii aamij aamik aamil aamim aamin aamio aamip aamiq aamir aamis aamit aamiu aamiv aamiw aamix aamiy aamiz aamja aamjb aamjc aamjd aamje aamjf aamjg aamjh aamji aamjj aamjk aamjl aamjm aamjn aamjo aamjp aamjq aamjr aamjs aamjt aamju aamjv aamjw aamjx aamjy aamjz aamka aamkb aamkc aamkd aamke aamkf aamkg aamkh aamki aamkj aamkk aamkl aamkm aamkn aamko aamkp aamkq aamkr aamks aamkt aamku aamkv aamkw aamkx aamky aamkz aamla aamlb aamlc aamld aamle aamlf aamlg aamlh aamli aamlj aamlk aamll aamlm aamln aamlo aamlp aamlq aamlr aamls aamlt aamlu aamlv aamlw aamlx aamly aamlz aamma aammb aammc aammd aamme aammf aammg aammh aammi aammj aammk aamml aammm aammn aammo aammp aammq aammr aamms aammt aammu aammv aammw aammx aammy aammz aamna aamnb aamnc aamnd aamne aamnf aamng aamnh aamni aamnj aamnk aamnl aamnm aamnn aamno aamnp aamnq aamnr aamns aamnt aamnu aamnv aamnw aamnx aamny aamnz aamoa aamob aamoc aamod aamoe aamof aamog aamoh aamoi aamoj aamok aamol aamom aamon aamoo aamop aamoq aamor aamos aamot aamou aamov aamow aamox aamoy aamoz aampa aampb aampc aampd aampe aampf aampg aamph aampi aampj aampk aampl aampm aampn aampo aampp aampq aampr aamps aampt aampu aampv aampw aampx aampy aampz aamqa aamqb aamqc aamqd aamqe aamqf aamqg aamqh aamqi aamqj aamqk aamql aamqm aamqn aamqo aamqp aamqq aamqr aamqs aamqt aamqu aamqv aamqw aamqx aamqy aamqz aamra aamrb aamrc aamrd aamre aamrf aamrg aamrh aamri aamrj aamrk aamrl aamrm aamrn aamro aamrp aamrq aamrr aamrs aamrt aamru aamrv aamrw aamrx aamry aamrz aamsa aamsb aamsc aamsd aamse aamsf aamsg aamsh aamsi aamsj aamsk aamsl aamsm aamsn aamso aamsp aamsq aamsr aamss aamst aamsu aamsv aamsw aamsx aamsy aamsz aamta aamtb aamtc aamtd aamte aamtf aamtg aamth aamti aamtj aamtk aamtl aamtm aamtn aamto aamtp aamtq aamtr aamts aamtt aamtu aamtv aamtw aamtx aamty aamtz aamua aamub aamuc aamud aamue aamuf aamug aamuh aamui aamuj aamuk aamul aamum aamun aamuo aamup aamuq aamur aamus aamut aamuu aamuv aamuw aamux aamuy aamuz aamva aamvb aamvc aamvd aamve aamvf aamvg aamvh aamvi aamvj aamvk aamvl aamvm aamvn aamvo aamvp aamvq aamvr aamvs aamvt aamvu aamvv aamvw aamvx aamvy aamvz aamwa aamwb aamwc aamwd aamwe aamwf aamwg aamwh aamwi aamwj aamwk aamwl aamwm aamwn aamwo aamwp aamwq aamwr aamws aamwt aamwu aamwv aamww aamwx aamwy aamwz aamxa aamxb aamxc aamxd aamxe aamxf aamxg aamxh aamxi aamxj aamxk aamxl aamxm aamxn aamxo aamxp aamxq aamxr aamxs aamxt aamxu aamxv aamxw aamxx aamxy aamxz aamya aamyb aamyc aamyd aamye aamyf aamyg aamyh aamyi aamyj aamyk aamyl aamym aamyn aamyo aamyp aamyq aamyr aamys aamyt aamyu aamyv aamyw aamyx aamyy aamyz aamza aamzb aamzc aamzd aamze aamzf aamzg aamzh aamzi aamzj aamzk aamzl aamzm aamzn aamzo aamzp aamzq aamzr aamzs aamzt aamzu aamzv aamzw aamzx aamzy aamzz aanaa aanab aanac aanad aanae aanaf aanag aanah aanai aanaj aanak aanal aanam aanan aanao aanap aanaq aanar aanas aanat aanau aanav aanaw aanax aanay aanaz aanba aanbb aanbc aanbd aanbe aanbf aanbg aanbh aanbi aanbj aanbk aanbl aanbm aanbn aanbo aanbp aanbq aanbr aanbs aanbt aanbu aanbv aanbw aanbx aanby aanbz aanca aancb aancc aancd aance aancf aancg aanch aanci aancj aanck aancl aancm aancn aanco aancp aancq aancr aancs aanct aancu aancv aancw aancx aancy aancz aanda aandb aandc aandd aande aandf aandg aandh aandi aandj aandk aandl aandm aandn aando aandp aandq aandr aands aandt aandu aandv aandw aandx aandy aandz aanea aaneb aanec aaned aanee aanef aaneg aaneh aanei aanej aanek aanel aanem aanen aaneo aanep aaneq aaner aanes aanet aaneu aanev aanew aanex aaney aanez aanfa aanfb aanfc aanfd aanfe aanff aanfg aanfh aanfi aanfj aanfk aanfl aanfm aanfn aanfo aanfp aanfq aanfr aanfs aanft aanfu aanfv aanfw aanfx aanfy aanfz aanga aangb aangc aangd aange aangf aangg aangh aangi aangj aangk aangl aangm aangn aango aangp aangq aangr aangs aangt aangu aangv aangw aangx aangy aangz aanha aanhb aanhc aanhd aanhe aanhf aanhg aanhh aanhi aanhj aanhk aanhl aanhm aanhn aanho aanhp aanhq aanhr aanhs aanht aanhu aanhv aanhw aanhx aanhy aanhz aania aanib aanic aanid aanie aanif aanig aanih aanii aanij aanik aanil aanim aanin aanio aanip aaniq aanir aanis aanit aaniu aaniv aaniw aanix aaniy aaniz aanja aanjb aanjc aanjd aanje aanjf aanjg aanjh aanji aanjj aanjk aanjl aanjm aanjn aanjo aanjp aanjq aanjr aanjs aanjt aanju aanjv aanjw aanjx aanjy aanjz aanka aankb aankc aankd aanke aankf aankg aankh aanki aankj aankk aankl aankm aankn aanko aankp aankq aankr aanks aankt aanku aankv aankw aankx aanky aankz aanla aanlb aanlc aanld aanle aanlf aanlg aanlh aanli aanlj aanlk aanll aanlm aanln aanlo aanlp aanlq aanlr aanls aanlt aanlu aanlv aanlw aanlx aanly aanlz aanma aanmb aanmc aanmd aanme aanmf aanmg aanmh aanmi aanmj aanmk aanml aanmm aanmn aanmo aanmp aanmq aanmr aanms aanmt aanmu aanmv aanmw aanmx aanmy aanmz aanna aannb aannc aannd aanne aannf aanng aannh aanni aannj aannk aannl aannm aannn aanno aannp aannq aannr aanns aannt aannu aannv aannw aannx aanny aannz aanoa aanob aanoc aanod aanoe aanof aanog aanoh aanoi aanoj aanok aanol aanom aanon aanoo aanop aanoq aanor aanos aanot aanou aanov aanow aanox aanoy aanoz aanpa aanpb aanpc aanpd aanpe aanpf aanpg aanph aanpi aanpj aanpk aanpl aanpm aanpn aanpo aanpp aanpq aanpr aanps aanpt aanpu aanpv aanpw aanpx aanpy aanpz aanqa aanqb aanqc aanqd aanqe aanqf aanqg aanqh aanqi aanqj aanqk aanql aanqm aanqn aanqo aanqp aanqq aanqr aanqs aanqt aanqu aanqv aanqw aanqx aanqy aanqz aanra aanrb aanrc aanrd aanre aanrf aanrg aanrh aanri aanrj aanrk aanrl aanrm aanrn aanro aanrp aanrq aanrr aanrs aanrt aanru aanrv aanrw aanrx aanry aanrz aansa aansb aansc aansd aanse aansf aansg aansh aansi aansj aansk aansl aansm aansn aanso aansp aansq aansr aanss aanst aansu aansv aansw aansx aansy aansz aanta aantb aantc aantd aante aantf aantg aanth aanti aantj aantk aantl aantm aantn aanto aantp aantq aantr aants aantt aantu aantv aantw aantx aanty aantz aanua aanub aanuc aanud aanue aanuf aanug aanuh aanui aanuj aanuk aanul aanum aanun aanuo aanup aanuq aanur aanus aanut aanuu aanuv aanuw aanux aanuy aanuz aanva aanvb aanvc aanvd aanve aanvf aanvg aanvh aanvi aanvj aanvk aanvl aanvm aanvn aanvo aanvp aanvq aanvr aanvs aanvt aanvu aanvv aanvw aanvx aanvy aanvz aanwa aanwb aanwc aanwd aanwe aanwf aanwg aanwh aanwi aanwj aanwk aanwl aanwm aanwn aanwo aanwp aanwq aanwr aanws aanwt aanwu aanwv aanww aanwx aanwy aanwz aanxa aanxb aanxc aanxd aanxe aanxf aanxg aanxh aanxi aanxj aanxk aanxl aanxm aanxn aanxo aanxp aanxq aanxr aanxs aanxt aanxu aanxv aanxw aanxx aanxy aanxz aanya aanyb aanyc aanyd aanye aanyf aanyg aanyh aanyi aanyj aanyk aanyl aanym aanyn aanyo aanyp aanyq aanyr aanys aanyt aanyu aanyv aanyw aanyx aanyy aanyz aanza aanzb aanzc aanzd aanze aanzf aanzg aanzh aanzi aanzj aanzk aanzl aanzm aanzn aanzo aanzp aanzq aanzr aanzs aanzt aanzu aanzv aanzw aanzx aanzy aanzz aaoaa aaoab aaoac aaoad aaoae aaoaf aaoag aaoah aaoai aaoaj aaoak aaoal aaoam aaoan aaoao aaoap aaoaq aaoar aaoas aaoat aaoau aaoav aaoaw aaoax aaoay aaoaz aaoba aaobb aaobc aaobd aaobe aaobf aaobg aaobh aaobi aaobj aaobk aaobl aaobm aaobn aaobo aaobp aaobq aaobr aaobs aaobt aaobu aaobv aaobw aaobx aaoby aaobz aaoca aaocb aaocc aaocd aaoce aaocf aaocg aaoch aaoci aaocj aaock aaocl aaocm aaocn aaoco aaocp aaocq aaocr aaocs aaoct aaocu aaocv aaocw aaocx aaocy aaocz aaoda aaodb aaodc aaodd aaode aaodf aaodg aaodh aaodi aaodj aaodk aaodl aaodm aaodn aaodo aaodp aaodq aaodr aaods aaodt aaodu aaodv aaodw aaodx aaody aaodz aaoea aaoeb aaoec aaoed aaoee aaoef aaoeg aaoeh aaoei aaoej aaoek aaoel aaoem aaoen aaoeo aaoep aaoeq aaoer aaoes aaoet aaoeu aaoev aaoew aaoex aaoey aaoez aaofa aaofb aaofc aaofd aaofe aaoff aaofg aaofh aaofi aaofj aaofk aaofl aaofm aaofn aaofo aaofp aaofq aaofr aaofs aaoft aaofu aaofv aaofw aaofx aaofy aaofz aaoga aaogb aaogc aaogd aaoge aaogf aaogg aaogh aaogi aaogj aaogk aaogl aaogm aaogn aaogo aaogp aaogq aaogr aaogs aaogt aaogu aaogv aaogw aaogx aaogy aaogz aaoha aaohb aaohc aaohd aaohe aaohf aaohg aaohh aaohi aaohj aaohk aaohl aaohm aaohn aaoho aaohp aaohq aaohr aaohs aaoht aaohu aaohv aaohw aaohx aaohy aaohz aaoia aaoib aaoic aaoid aaoie aaoif aaoig aaoih aaoii aaoij aaoik aaoil aaoim aaoin aaoio aaoip aaoiq aaoir aaois aaoit aaoiu aaoiv aaoiw aaoix aaoiy aaoiz aaoja aaojb aaojc aaojd aaoje aaojf aaojg aaojh aaoji aaojj aaojk aaojl aaojm aaojn aaojo aaojp aaojq aaojr aaojs aaojt aaoju aaojv aaojw aaojx aaojy aaojz aaoka aaokb aaokc aaokd aaoke aaokf aaokg aaokh aaoki aaokj aaokk aaokl aaokm aaokn aaoko aaokp aaokq aaokr aaoks aaokt aaoku aaokv aaokw aaokx aaoky aaokz aaola aaolb aaolc aaold aaole aaolf aaolg aaolh aaoli aaolj aaolk aaoll aaolm aaoln aaolo aaolp aaolq aaolr aaols aaolt aaolu aaolv aaolw aaolx aaoly aaolz aaoma aaomb aaomc aaomd aaome aaomf aaomg aaomh aaomi aaomj aaomk aaoml aaomm aaomn aaomo aaomp aaomq aaomr aaoms aaomt aaomu aaomv aaomw aaomx aaomy aaomz aaona aaonb aaonc aaond aaone aaonf aaong aaonh aaoni aaonj aaonk aaonl aaonm aaonn aaono aaonp aaonq aaonr aaons aaont aaonu aaonv aaonw aaonx aaony aaonz aaooa aaoob aaooc aaood aaooe aaoof aaoog aaooh aaooi aaooj aaook aaool aaoom aaoon aaooo aaoop aaooq aaoor aaoos aaoot aaoou aaoov aaoow aaoox aaooy aaooz aaopa aaopb aaopc aaopd aaope aaopf aaopg aaoph aaopi aaopj aaopk aaopl aaopm aaopn aaopo aaopp aaopq aaopr aaops aaopt aaopu aaopv aaopw aaopx aaopy aaopz aaoqa aaoqb aaoqc aaoqd aaoqe aaoqf aaoqg aaoqh aaoqi aaoqj aaoqk aaoql aaoqm aaoqn aaoqo aaoqp aaoqq aaoqr aaoqs aaoqt aaoqu aaoqv aaoqw aaoqx aaoqy aaoqz aaora aaorb aaorc aaord aaore aaorf aaorg aaorh aaori aaorj aaork aaorl aaorm aaorn aaoro aaorp aaorq aaorr aaors aaort aaoru aaorv aaorw aaorx aaory aaorz aaosa aaosb aaosc aaosd aaose aaosf aaosg aaosh aaosi aaosj aaosk aaosl aaosm aaosn aaoso aaosp aaosq aaosr aaoss aaost aaosu aaosv aaosw aaosx aaosy aaosz aaota aaotb aaotc aaotd aaote aaotf aaotg aaoth aaoti aaotj aaotk aaotl aaotm aaotn aaoto aaotp aaotq aaotr aaots aaott aaotu aaotv aaotw aaotx aaoty aaotz aaoua aaoub aaouc aaoud aaoue aaouf aaoug aaouh aaoui aaouj aaouk aaoul aaoum aaoun aaouo aaoupsifter.js-0.5.3/benchmark/searches_mixed.txt000066400000000000000000001152571321014527000211120ustar00rootroot00000000000000a aa aaa aab aac aad aae aaf aag aah aai aaj aak aal aam aan aao aap aaq aar aas aat aau aav aaw aax aay aaz ab aba abb abc abd abe abf abg abh abi abj abk abl abm abn abo abp abq abr abs abt abu abv abw abx aby abz ac aca acb acc acd ace acf acg ach aci acj ack acl acm acn aco acp acq acr acs act acu acv acw acx acy acz ad ada adb adc add ade adf adg adh adi adj adk adl adm adn ado adp adq adr ads adt adu adv adw adx ady adz ae aea aeb aec aed aee aef aeg aeh aei aej aek ael aem aen aeo aep aeq aer aes aet aeu aev aew aex aey aez af afa afb afc afd afe aff afg afh afi afj afk afl afm afn afo afp afq afr afs aft afu afv afw afx afy afz ag aga agb agc agd age agf agg agh agi agj agk agl agm agn ago agp agq agr ags agt agu agv agw agx agy agz ah aha ahb ahc ahd ahe ahf ahg ahh ahi ahj ahk ahl ahm ahn aho ahp ahq ahr ahs aht ahu ahv ahw ahx ahy ahz ai aia aib aic aid aie aif aig aih aii aij aik ail aim ain aio aip aiq air ais ait aiu aiv aiw aix aiy aiz aj aja ajb ajc ajd aje ajf ajg ajh aji ajj ajk ajl ajm ajn ajo ajp ajq ajr ajs ajt aju ajv ajw ajx ajy ajz ak aka akb akc akd ake akf akg akh aki akj akk akl akm akn ako akp akq akr aks akt aku akv akw akx aky akz al ala alb alc ald ale alf alg alh ali alj alk all alm aln alo alp alq alr als alt alu alv alw alx aly alz am ama amb amc amd ame amf amg amh ami amj amk aml amm amn amo amp amq amr ams amt amu amv amw amx amy amz an ana anb anc and ane anf ang anh ani anj ank anl anm ann ano anp anq anr ans ant anu anv anw anx any anz ao aoa aob aoc aod aoe aof aog aoh aoi aoj aok aol aom aon aoo aop aoq aor aos aot aou aov aow aox aoy aoz ap apa apb apc apd ape apf apg aph api apj apk apl apm apn apo app apq apr aps apt apu apv apw apx apy apz aq aqa aqb aqc aqd aqe aqf aqg aqh aqi aqj aqk aql aqm aqn aqo aqp aqq aqr aqs aqt aqu aqv aqw aqx aqy aqz ar ara arb arc ard are arf arg arh ari arj ark arl arm arn aro arp arq arr ars art aru arv arw arx ary arz as asa asb asc asd ase asf asg ash asi asj ask asl asm asn aso asp asq asr ass ast asu asv asw asx asy asz at ata atb atc atd ate atf atg ath ati atj atk atl atm atn ato atp atq atr ats att atu atv atw atx aty atz au aua aub auc aud aue auf aug auh aui auj auk aul aum aun auo aup auq aur aus aut auu auv auw aux auy auz av ava avb avc avd ave avf avg avh avi avj avk avl avm avn avo avp avq avr avs avt avu avv avw avx avy avz aw awa awb awc awd awe awf awg awh awi awj awk awl awm awn awo awp awq awr aws awt awu awv aww awx awy awz ax axa axb axc axd axe axf axg axh axi axj axk axl axm axn axo axp axq axr axs axt axu axv axw axx axy axz ay aya ayb ayc ayd aye ayf ayg ayh ayi ayj ayk ayl aym ayn ayo ayp ayq ayr ays ayt ayu ayv ayw ayx ayy ayz az aza azb azc azd aze azf azg azh azi azj azk azl azm azn azo azp azq azr azs azt azu azv azw azx azy azz b ba baa bab bac bad bae baf bag bah bai baj bak bal bam ban bao bap baq bar bas bat bau bav baw bax bay baz bb bba bbb bbc bbd bbe bbf bbg bbh bbi bbj bbk bbl bbm bbn bbo bbp bbq bbr bbs bbt bbu bbv bbw bbx bby bbz bc bca bcb bcc bcd bce bcf bcg bch bci bcj bck bcl bcm bcn bco bcp bcq bcr bcs bct bcu bcv bcw bcx bcy bcz bd bda bdb bdc bdd bde bdf bdg bdh bdi bdj bdk bdl bdm bdn bdo bdp bdq bdr bds bdt bdu bdv bdw bdx bdy bdz be bea beb bec bed bee bef beg beh bei bej bek bel bem ben beo bep beq ber bes bet beu bev bew bex bey bez bf bfa bfb bfc bfd bfe bff bfg bfh bfi bfj bfk bfl bfm bfn bfo bfp bfq bfr bfs bft bfu bfv bfw bfx bfy bfz bg bga bgb bgc bgd bge bgf bgg bgh bgi bgj bgk bgl bgm bgn bgo bgp bgq bgr bgs bgt bgu bgv bgw bgx bgy bgz bh bha bhb bhc bhd bhe bhf bhg bhh bhi bhj bhk bhl bhm bhn bho bhp bhq bhr bhs bht bhu bhv bhw bhx bhy bhz bi bia bib bic bid bie bif big bih bii bij bik bil bim bin bio bip biq bir bis bit biu biv biw bix biy biz bj bja bjb bjc bjd bje bjf bjg bjh bji bjj bjk bjl bjm bjn bjo bjp bjq bjr bjs bjt bju bjv bjw bjx bjy bjz bk bka bkb bkc bkd bke bkf bkg bkh bki bkj bkk bkl bkm bkn bko bkp bkq bkr bks bkt bku bkv bkw bkx bky bkz bl bla blb blc bld ble blf blg blh bli blj blk bll blm bln blo blp blq blr bls blt blu blv blw blx bly blz bm bma bmb bmc bmd bme bmf bmg bmh bmi bmj bmk bml bmm bmn bmo bmp bmq bmr bms bmt bmu bmv bmw bmx bmy bmz bn bna bnb bnc bnd bne bnf bng bnh bni bnj bnk bnl bnm bnn bno bnp bnq bnr bns bnt bnu bnv bnw bnx bny bnz bo boa bob boc bod boe bof bog boh boi boj bok bol bom bon boo bop boq bor bos bot bou bov bow box boy boz bp bpa bpb bpc bpd bpe bpf bpg bph bpi bpj bpk bpl bpm bpn bpo bpp bpq bpr bps bpt bpu bpv bpw bpx bpy bpz bq bqa bqb bqc bqd bqe bqf bqg bqh bqi bqj bqk bql bqm bqn bqo bqp bqq bqr bqs bqt bqu bqv bqw bqx bqy bqz br bra brb brc brd bre brf brg brh bri brj brk brl brm brn bro brp brq brr brs brt bru brv brw brx bry brz bs bsa bsb bsc bsd bse bsf bsg bsh bsi bsj bsk bsl bsm bsn bso bsp bsq bsr bss bst bsu bsv bsw bsx bsy bsz bt bta btb btc btd bte btf btg bth bti btj btk btl btm btn bto btp btq btr bts btt btu btv btw btx bty btz bu bua bub buc bud bue buf bug buh bui buj buk bul bum bun buo bup buq bur bus but buu buv buw bux buy buz bv bva bvb bvc bvd bve bvf bvg bvh bvi bvj bvk bvl bvm bvn bvo bvp bvq bvr bvs bvt bvu bvv bvw bvx bvy bvz bw bwa bwb bwc bwd bwe bwf bwg bwh bwi bwj bwk bwl bwm bwn bwo bwp bwq bwr bws bwt bwu bwv bww bwx bwy bwz bx bxa bxb bxc bxd bxe bxf bxg bxh bxi bxj bxk bxl bxm bxn bxo bxp bxq bxr bxs bxt bxu bxv bxw bxx bxy bxz by bya byb byc byd bye byf byg byh byi byj byk byl bym byn byo byp byq byr bys byt byu byv byw byx byy byz bz bza bzb bzc bzd bze bzf bzg bzh bzi bzj bzk bzl bzm bzn bzo bzp bzq bzr bzs bzt bzu bzv bzw bzx bzy bzz c ca caa cab cac cad cae caf cag cah cai caj cak cal cam can cao cap caq car cas cat cau cav caw cax cay caz cb cba cbb cbc cbd cbe cbf cbg cbh cbi cbj cbk cbl cbm cbn cbo cbp cbq cbr cbs cbt cbu cbv cbw cbx cby cbz cc cca ccb ccc ccd cce ccf ccg cch cci ccj cck ccl ccm ccn cco ccp ccq ccr ccs cct ccu ccv ccw ccx ccy ccz cd cda cdb cdc cdd cde cdf cdg cdh cdi cdj cdk cdl cdm cdn cdo cdp cdq cdr cds cdt cdu cdv cdw cdx cdy cdz ce cea ceb cec ced cee cef ceg ceh cei cej cek cel cem cen ceo cep ceq cer ces cet ceu cev cew cex cey cez cf cfa cfb cfc cfd cfe cff cfg cfh cfi cfj cfk cfl cfm cfn cfo cfp cfq cfr cfs cft cfu cfv cfw cfx cfy cfz cg cga cgb cgc cgd cge cgf cgg cgh cgi cgj cgk cgl cgm cgn cgo cgp cgq cgr cgs cgt cgu cgv cgw cgx cgy cgz ch cha chb chc chd che chf chg chh chi chj chk chl chm chn cho chp chq chr chs cht chu chv chw chx chy chz ci cia cib cic cid cie cif cig cih cii cij cik cil cim cin cio cip ciq cir cis cit ciu civ ciw cix ciy ciz cj cja cjb cjc cjd cje cjf cjg cjh cji cjj cjk cjl cjm cjn cjo cjp cjq cjr cjs cjt cju cjv cjw cjx cjy cjz ck cka ckb ckc ckd cke ckf ckg ckh cki ckj ckk ckl ckm ckn cko ckp ckq ckr cks ckt cku ckv ckw ckx cky ckz cl cla clb clc cld cle clf clg clh cli clj clk cll clm cln clo clp clq clr cls clt clu clv clw clx cly clz cm cma cmb cmc cmd cme cmf cmg cmh cmi cmj cmk cml cmm cmn cmo cmp cmq cmr cms cmt cmu cmv cmw cmx cmy cmz cn cna cnb cnc cnd cne cnf cng cnh cni cnj cnk cnl cnm cnn cno cnp cnq cnr cns cnt cnu cnv cnw cnx cny cnz co coa cob coc cod coe cof cog coh coi coj cok col com con coo cop coq cor cos cot cou cov cow cox coy coz cp cpa cpb cpc cpd cpe cpf cpg cph cpi cpj cpk cpl cpm cpn cpo cpp cpq cpr cps cpt cpu cpv cpw cpx cpy cpz cq cqa cqb cqc cqd cqe cqf cqg cqh cqi cqj cqk cql cqm cqn cqo cqp cqq cqr cqs cqt cqu cqv cqw cqx cqy cqz cr cra crb crc crd cre crf crg crh cri crj crk crl crm crn cro crp crq crr crs crt cru crv crw crx cry crz cs csa csb csc csd cse csf csg csh csi csj csk csl csm csn cso csp csq csr css cst csu csv csw csx csy csz ct cta ctb ctc ctd cte ctf ctg cth cti ctj ctk ctl ctm ctn cto ctp ctq ctr cts ctt ctu ctv ctw ctx cty ctz cu cua cub cuc cud cue cuf cug cuh cui cuj cuk cul cum cun cuo cup cuq cur cus cut cuu cuv cuw cux cuy cuz cv cva cvb cvc cvd cve cvf cvg cvh cvi cvj cvk cvl cvm cvn cvo cvp cvq cvr cvs cvt cvu cvv cvw cvx cvy cvz cw cwa cwb cwc cwd cwe cwf cwg cwh cwi cwj cwk cwl cwm cwn cwo cwp cwq cwr cws cwt cwu cwv cww cwx cwy cwz cx cxa cxb cxc cxd cxe cxf cxg cxh cxi cxj cxk cxl cxm cxn cxo cxp cxq cxr cxs cxt cxu cxv cxw cxx cxy cxz cy cya cyb cyc cyd cye cyf cyg cyh cyi cyj cyk cyl cym cyn cyo cyp cyq cyr cys cyt cyu cyv cyw cyx cyy cyz cz cza czb czc czd cze czf czg czh czi czj czk czl czm czn czo czp czq czr czs czt czu czv czw czx czy czz d da daa dab dac dad dae daf dag dah dai daj dak dal dam dan dao dap daq dar das dat dau dav daw dax day daz db dba dbb dbc dbd dbe dbf dbg dbh dbi dbj dbk dbl dbm dbn dbo dbp dbq dbr dbs dbt dbu dbv dbw dbx dby dbz dc dca dcb dcc dcd dce dcf dcg dch dci dcj dck dcl dcm dcn dco dcp dcq dcr dcs dct dcu dcv dcw dcx dcy dcz dd dda ddb ddc ddd dde ddf ddg ddh ddi ddj ddk ddl ddm ddn ddo ddp ddq ddr dds ddt ddu ddv ddw ddx ddy ddz de dea deb dec ded dee def deg deh dei dej dek del dem den deo dep deq der des det deu dev dew dex dey dez df dfa dfb dfc dfd dfe dff dfg dfh dfi dfj dfk dfl dfm dfn dfo dfp dfq dfr dfs dft dfu dfv dfw dfx dfy dfz dg dga dgb dgc dgd dge dgf dgg dgh dgi dgj dgk dgl dgm dgn dgo dgp dgq dgr dgs dgt dgu dgv dgw dgx dgy dgz dh dha dhb dhc dhd dhe dhf dhg dhh dhi dhj dhk dhl dhm dhn dho dhp dhq dhr dhs dht dhu dhv dhw dhx dhy dhz di dia dib dic did die dif dig dih dii dij dik dil dim din dio dip diq dir dis dit diu div diw dix diy diz dj dja djb djc djd dje djf djg djh dji djj djk djl djm djn djo djp djq djr djs djt dju djv djw djx djy djz dk dka dkb dkc dkd dke dkf dkg dkh dki dkj dkk dkl dkm dkn dko dkp dkq dkr dks dkt dku dkv dkw dkx dky dkz dl dla dlb dlc dld dle dlf dlg dlh dli dlj dlk dll dlm dln dlo dlp dlq dlr dls dlt dlu dlv dlw dlx dly dlz dm dma dmb dmc dmd dme dmf dmg dmh dmi dmj dmk dml dmm dmn dmo dmp dmq dmr dms dmt dmu dmv dmw dmx dmy dmz dn dna dnb dnc dnd dne dnf dng dnh dni dnj dnk dnl dnm dnn dno dnp dnq dnr dns dnt dnu dnv dnw dnx dny dnz do doa dob doc dod doe dof dog doh doi doj dok dol dom don doo dop doq dor dos dot dou dov dow dox doy doz dp dpa dpb dpc dpd dpe dpf dpg dph dpi dpj dpk dpl dpm dpn dpo dpp dpq dpr dps dpt dpu dpv dpw dpx dpy dpz dq dqa dqb dqc dqd dqe dqf dqg dqh dqi dqj dqk dql dqm dqn dqo dqp dqq dqr dqs dqt dqu dqv dqw dqx dqy dqz dr dra drb drc drd dre drf drg drh dri drj drk drl drm drn dro drp drq drr drs drt dru drv drw drx dry drz ds dsa dsb dsc dsd dse dsf dsg dsh dsi dsj dsk dsl dsm dsn dso dsp dsq dsr dss dst dsu dsv dsw dsx dsy dsz dt dta dtb dtc dtd dte dtf dtg dth dti dtj dtk dtl dtm dtn dto dtp dtq dtr dts dtt dtu dtv dtw dtx dty dtz du dua dub duc dud due duf dug duh dui duj duk dul dum dun duo dup duq dur dus dut duu duv duw dux duy duz dv dva dvb dvc dvd dve dvf dvg dvh dvi dvj dvk dvl dvm dvn dvo dvp dvq dvr dvs dvt dvu dvv dvw dvx dvy dvz dw dwa dwb dwc dwd dwe dwf dwg dwh dwi dwj dwk dwl dwm dwn dwo dwp dwq dwr dws dwt dwu dwv dww dwx dwy dwz dx dxa dxb dxc dxd dxe dxf dxg dxh dxi dxj dxk dxl dxm dxn dxo dxp dxq dxr dxs dxt dxu dxv dxw dxx dxy dxz dy dya dyb dyc dyd dye dyf dyg dyh dyi dyj dyk dyl dym dyn dyo dyp dyq dyr dys dyt dyu dyv dyw dyx dyy dyz dz dza dzb dzc dzd dze dzf dzg dzh dzi dzj dzk dzl dzm dzn dzo dzp dzq dzr dzs dzt dzu dzv dzw dzx dzy dzz e ea eaa eab eac ead eae eaf eag eah eai eaj eak eal eam ean eao eap eaq ear eas eat eau eav eaw eax eay eaz eb eba ebb ebc ebd ebe ebf ebg ebh ebi ebj ebk ebl ebm ebn ebo ebp ebq ebr ebs ebt ebu ebv ebw ebx eby ebz ec eca ecb ecc ecd ece ecf ecg ech eci ecj eck ecl ecm ecn eco ecp ecq ecr ecs ect ecu ecv ecw ecx ecy ecz ed eda edb edc edd ede edf edg edh edi edj edk edl edm edn edo edp edq edr eds edt edu edv edw edx edy edz ee eea eeb eec eed eee eef eeg eeh eei eej eek eel eem een eeo eep eeq eer ees eet eeu eev eew eex eey eez ef efa efb efc efd efe eff efg efh efi efj efk efl efm efn efo efp efq efr efs eft efu efv efw efx efy efz eg ega egb egc egd ege egf egg egh egi egj egk egl egm egn ego egp egq egr egs egt egu egv egw egx egy egz eh eha ehb ehc ehd ehe ehf ehg ehh ehi ehj ehk ehl ehm ehn eho ehp ehq ehr ehs eht ehu ehv ehw ehx ehy ehz ei eia eib eic eid eie eif eig eih eii eij eik eil eim ein eio eip eiq eir eis eit eiu eiv eiw eix eiy eiz ej eja ejb ejc ejd eje ejf ejg ejh eji ejj ejk ejl ejm ejn ejo ejp ejq ejr ejs ejt eju ejv ejw ejx ejy ejz ek eka ekb ekc ekd eke ekf ekg ekh eki ekj ekk ekl ekm ekn eko ekp ekq ekr eks ekt eku ekv ekw ekx eky ekz el ela elb elc eld ele elf elg elh eli elj elk ell elm eln elo elp elq elr els elt elu elv elw elx ely elz em ema emb emc emd eme emf emg emh emi emj emk eml emm emn emo emp emq emr ems emt emu emv emw emx emy emz en ena enb enc end ene enf eng enh eni enj enk enl enm enn eno enp enq enr ens ent enu env enw enx eny enz eo eoa eob eoc eod eoe eof eog eoh eoi eoj eok eol eom eon eoo eop eoq eor eos eot eou eov eow eox eoy eoz ep epa epb epc epd epe epf epg eph epi epj epk epl epm epn epo epp epq epr eps ept epu epv epw epx epy epz eq eqa eqb eqc eqd eqe eqf eqg eqh eqi eqj eqk eql eqm eqn eqo eqp eqq eqr eqs eqt equ eqv eqw eqx eqy eqz er era erb erc erd ere erf erg erh eri erj erk erl erm ern ero erp erq err ers ert eru erv erw erx ery erz es esa esb esc esd ese esf esg esh esi esj esk esl esm esn eso esp esq esr ess est esu esv esw esx esy esz et eta etb etc etd ete etf etg eth eti etj etk etl etm etn eto etp etq etr ets ett etu etv etw etx ety etz eu eua eub euc eud eue euf eug euh eui euj euk eul eum eun euo eup euq eur eus eut euu euv euw eux euy euz ev eva evb evc evd eve evf evg evh evi evj evk evl evm evn evo evp evq evr evs evt evu evv evw evx evy evz ew ewa ewb ewc ewd ewe ewf ewg ewh ewi ewj ewk ewl ewm ewn ewo ewp ewq ewr ews ewt ewu ewv eww ewx ewy ewz ex exa exb exc exd exe exf exg exh exi exj exk exl exm exn exo exp exq exr exs ext exu exv exw exx exy exz ey eya eyb eyc eyd eye eyf eyg eyh eyi eyj eyk eyl eym eyn eyo eyp eyq eyr eys eyt eyu eyv eyw eyx eyy eyz ez eza ezb ezc ezd eze ezf ezg ezh ezi ezj ezk ezl ezm ezn ezo ezp ezq ezr ezs ezt ezu ezv ezw ezx ezy ezz f fa faa fab fac fad fae faf fag fah fai faj fak fal fam fan fao fap faq far fas fat fau fav faw fax fay faz fb fba fbb fbc fbd fbe fbf fbg fbh fbi fbj fbk fbl fbm fbn fbo fbp fbq fbr fbs fbt fbu fbv fbw fbx fby fbz fc fca fcb fcc fcd fce fcf fcg fch fci fcj fck fcl fcm fcn fco fcp fcq fcr fcs fct fcu fcv fcw fcx fcy fcz fd fda fdb fdc fdd fde fdf fdg fdh fdi fdj fdk fdl fdm fdn fdo fdp fdq fdr fds fdt fdu fdv fdw fdx fdy fdz fe fea feb fec fed fee fef feg feh fei fej fek fel fem fen feo fep feq fer fes fet feu fev few fex fey fez ff ffa ffb ffc ffd ffe fff ffg ffh ffi ffj ffk ffl ffm ffn ffo ffp ffq ffr ffs fft ffu ffv ffw ffx ffy ffz fg fga fgb fgc fgd fge fgf fgg fgh fgi fgj fgk fgl fgm fgn fgo fgp fgq fgr fgs fgt fgu fgv fgw fgx fgy fgz fh fha fhb fhc fhd fhe fhf fhg fhh fhi fhj fhk fhl fhm fhn fho fhp fhq fhr fhs fht fhu fhv fhw fhx fhy fhz fi fia fib fic fid fie fif fig fih fii fij fik fil fim fin fio fip fiq fir fis fit fiu fiv fiw fix fiy fiz fj fja fjb fjc fjd fje fjf fjg fjh fji fjj fjk fjl fjm fjn fjo fjp fjq fjr fjs fjt fju fjv fjw fjx fjy fjz fk fka fkb fkc fkd fke fkf fkg fkh fki fkj fkk fkl fkm fkn fko fkp fkq fkr fks fkt fku fkv fkw fkx fky fkz fl fla flb flc fld fle flf flg flh fli flj flk fll flm fln flo flp flq flr fls flt flu flv flw flx fly flz fm fma fmb fmc fmd fme fmf fmg fmh fmi fmj fmk fml fmm fmn fmo fmp fmq fmr fms fmt fmu fmv fmw fmx fmy fmz fn fna fnb fnc fnd fne fnf fng fnh fni fnj fnk fnl fnm fnn fno fnp fnq fnr fns fnt fnu fnv fnw fnx fny fnz fo foa fob foc fod foe fof fog foh foi foj fok fol fom fon foo fop foq for fos fot fou fov fow fox foy foz fp fpa fpb fpc fpd fpe fpf fpg fph fpi fpj fpk fpl fpm fpn fpo fpp fpq fpr fps fpt fpu fpv fpw fpx fpy fpz fq fqa fqb fqc fqd fqe fqf fqg fqh fqi fqj fqk fql fqm fqn fqo fqp fqq fqr fqs fqt fqu fqv fqw fqx fqy fqz fr fra frb frc frd fre frf frg frh fri frj frk frl frm frn fro frp frq frr frs frt fru frv frw frx fry frz fs fsa fsb fsc fsd fse fsf fsg fsh fsi fsj fsk fsl fsm fsn fso fsp fsq fsr fss fst fsu fsv fsw fsx fsy fsz ft fta ftb ftc ftd fte ftf ftg fth fti ftj ftk ftl ftm ftn fto ftp ftq ftr fts ftt ftu ftv ftw ftx fty ftz fu fua fub fuc fud fue fuf fug fuh fui fuj fuk ful fum fun fuo fup fuq fur fus fut fuu fuv fuw fux fuy fuz fv fva fvb fvc fvd fve fvf fvg fvh fvi fvj fvk fvl fvm fvn fvo fvp fvq fvr fvs fvt fvu fvv fvw fvx fvy fvz fw fwa fwb fwc fwd fwe fwf fwg fwh fwi fwj fwk fwl fwm fwn fwo fwp fwq fwr fws fwt fwu fwv fww fwx fwy fwz fx fxa fxb fxc fxd fxe fxf fxg fxh fxi fxj fxk fxl fxm fxn fxo fxp fxq fxr fxs fxt fxu fxv fxw fxx fxy fxz fy fya fyb fyc fyd fye fyf fyg fyh fyi fyj fyk fyl fym fyn fyo fyp fyq fyr fys fyt fyu fyv fyw fyx fyy fyz fz fza fzb fzc fzd fze fzf fzg fzh fzi fzj fzk fzl fzm fzn fzo fzp fzq fzr fzs fzt fzu fzv fzw fzx fzy fzz g ga gaa gab gac gad gae gaf gag gah gai gaj gak gal gam gan gao gap gaq gar gas gat gau gav gaw gax gay gaz gb gba gbb gbc gbd gbe gbf gbg gbh gbi gbj gbk gbl gbm gbn gbo gbp gbq gbr gbs gbt gbu gbv gbw gbx gby gbz gc gca gcb gcc gcd gce gcf gcg gch gci gcj gck gcl gcm gcn gco gcp gcq gcr gcs gct gcu gcv gcw gcx gcy gcz gd gda gdb gdc gdd gde gdf gdg gdh gdi gdj gdk gdl gdm gdn gdo gdp gdq gdr gds gdt gdu gdv gdw gdx gdy gdz ge gea geb gec ged gee gef geg geh gei gej gek gel gem gen geo gep geq ger ges get geu gev gew gex gey gez gf gfa gfb gfc gfd gfe gff gfg gfh gfi gfj gfk gfl gfm gfn gfo gfp gfq gfr gfs gft gfu gfv gfw gfx gfy gfz gg gga ggb ggc ggd gge ggf ggg ggh ggi ggj ggk ggl ggm ggn ggo ggp ggq ggr ggs ggt ggu ggv ggw ggx ggy ggz gh gha ghb ghc ghd ghe ghf ghg ghh ghi ghj ghk ghl ghm ghn gho ghp ghq ghr ghs ght ghu ghv ghw ghx ghy ghz gi gia gib gic gid gie gif gig gih gii gij gik gil gim gin gio gip giq gir gis git giu giv giw gix giy giz gj gja gjb gjc gjd gje gjf gjg gjh gji gjj gjk gjl gjm gjn gjo gjp gjq gjr gjs gjt gju gjv gjw gjx gjy gjz gk gka gkb gkc gkd gke gkf gkg gkh gki gkj gkk gkl gkm gkn gko gkp gkq gkr gks gkt gku gkv gkw gkx gky gkz gl gla glb glc gld gle glf glg glh gli glj glk gll glm gln glo glp glq glr gls glt glu glv glw glx gly glz gm gma gmb gmc gmd gme gmf gmg gmh gmi gmj gmk gml gmm gmn gmo gmp gmq gmr gms gmt gmu gmv gmw gmx gmy gmz gn gna gnb gnc gnd gne gnf gng gnh gni gnj gnk gnl gnm gnn gno gnp gnq gnr gns gnt gnu gnv gnw gnx gny gnz go goa gob goc god goe gof gog goh goi goj gok gol gom gon goo gop goq gor gos got gou gov gow gox goy goz gp gpa gpb gpc gpd gpe gpf gpg gph gpi gpj gpk gpl gpm gpn gpo gpp gpq gpr gps gpt gpu gpv gpw gpx gpy gpz gq gqa gqb gqc gqd gqe gqf gqg gqh gqi gqj gqk gql gqm gqn gqo gqp gqq gqr gqs gqt gqu gqv gqw gqx gqy gqz gr gra grb grc grd gre grf grg grh gri grj grk grl grm grn gro grp grq grr grs grt gru grv grw grx gry grz gs gsa gsb gsc gsd gse gsf gsg gsh gsi gsj gsk gsl gsm gsn gso gsp gsq gsr gss gst gsu gsv gsw gsx gsy gsz gt gta gtb gtc gtd gte gtf gtg gth gti gtj gtk gtl gtm gtn gto gtp gtq gtr gts gtt gtu gtv gtw gtx gty gtz gu gua gub guc gud gue guf gug guh gui guj guk gul gum gun guo gup guq gur gus gut guu guv guw gux guy guz gv gva gvb gvc gvd gve gvf gvg gvh gvi gvj gvk gvl gvm gvn gvo gvp gvq gvr gvs gvt gvu gvv gvw gvx gvy gvz gw gwa gwb gwc gwd gwe gwf gwg gwh gwi gwj gwk gwl gwm gwn gwo gwp gwq gwr gws gwt gwu gwv gww gwx gwy gwz gx gxa gxb gxc gxd gxe gxf gxg gxh gxi gxj gxk gxl gxm gxn gxo gxp gxq gxr gxs gxt gxu gxv gxw gxx gxy gxz gy gya gyb gyc gyd gye gyf gyg gyh gyi gyj gyk gyl gym gyn gyo gyp gyq gyr gys gyt gyu gyv gyw gyx gyy gyz gz gza gzb gzc gzd gze gzf gzg gzh gzi gzj gzk gzl gzm gzn gzo gzp gzq gzr gzs gzt gzu gzv gzw gzx gzy gzz h ha haa hab hac had hae haf hag hah hai haj hak hal ham han hao hap haq har has hat hau hav haw hax hay haz hb hba hbb hbc hbd hbe hbf hbg hbh hbi hbj hbk hbl hbm hbn hbo hbp hbq hbr hbs hbt hbu hbv hbw hbx hby hbz hc hca hcb hcc hcd hce hcf hcg hch hci hcj hck hcl hcm hcn hco hcp hcq hcr hcs hct hcu hcv hcw hcx hcy hcz hd hda hdb hdc hdd hde hdf hdg hdh hdi hdj hdk hdl hdm hdn hdo hdp hdq hdr hds hdt hdu hdv hdw hdx hdy hdz he hea heb hec hed hee hef heg heh hei hej hek hel hem hen heo hep heq her hes het heu hev hew hex hey hez hf hfa hfb hfc hfd hfe hff hfg hfh hfi hfj hfk hfl hfm hfn hfo hfp hfq hfr hfs hft hfu hfv hfw hfx hfy hfz hg hga hgb hgc hgd hge hgf hgg hgh hgi hgj hgk hgl hgm hgn hgo hgp hgq hgr hgs hgt hgu hgv hgw hgx hgy hgz hh hha hhb hhc hhd hhe hhf hhg hhh hhi hhj hhk hhl hhm hhn hho hhp hhq hhr hhs hht hhu hhv hhw hhx hhy hhz hi hia hib hic hid hie hif hig hih hii hij hik hil him hin hio hip hiq hir his hit hiu hiv hiw hix hiy hiz hj hja hjb hjc hjd hje hjf hjg hjh hji hjj hjk hjl hjm hjn hjo hjp hjq hjr hjs hjt hju hjv hjw hjx hjy hjz hk hka hkb hkc hkd hke hkf hkg hkh hki hkj hkk hkl hkm hkn hko hkp hkq hkr hks hkt hku hkv hkw hkx hky hkz hl hla hlb hlc hld hle hlf hlg hlh hli hlj hlk hll hlm hln hlo hlp hlq hlr hls hlt hlu hlv hlw hlx hly hlz hm hma hmb hmc hmd hme hmf hmg hmh hmi hmj hmk hml hmm hmn hmo hmp hmq hmr hms hmt hmu hmv hmw hmx hmy hmz hn hna hnb hnc hnd hne hnf hng hnh hni hnj hnk hnl hnm hnn hno hnp hnq hnr hns hnt hnu hnv hnw hnx hny hnz ho hoa hob hoc hod hoe hof hog hoh hoi hoj hok hol hom hon hoo hop hoq hor hos hot hou hov how hox hoy hoz hp hpa hpb hpc hpd hpe hpf hpg hph hpi hpj hpk hpl hpm hpn hpo hpp hpq hpr hps hpt hpu hpv hpw hpx hpy hpz hq hqa hqb hqc hqd hqe hqf hqg hqh hqi hqj hqk hql hqm hqn hqo hqp hqq hqr hqs hqt hqu hqv hqw hqx hqy hqz hr hra hrb hrc hrd hre hrf hrg hrh hri hrj hrk hrl hrm hrn hro hrp hrq hrr hrs hrt hru hrv hrw hrx hry hrz hs hsa hsb hsc hsd hse hsf hsg hsh hsi hsj hsk hsl hsm hsn hso hsp hsq hsr hss hst hsu hsv hsw hsx hsy hsz ht hta htb htc htd hte htf htg hth hti htj htk htl htm htn hto htp htq htr hts htt htu htv htw htx hty htz hu hua hub huc hud hue huf hug huh hui huj huk hul hum hun huo hup huq hur hus hut huu huv huw hux huy huz hv hva hvb hvc hvd hve hvf hvg hvh hvi hvj hvk hvl hvm hvn hvo hvp hvq hvr hvs hvt hvu hvv hvw hvx hvy hvz hw hwa hwb hwc hwd hwe hwf hwg hwh hwi hwj hwk hwl hwm hwn hwo hwp hwq hwr hws hwt hwu hwv hww hwx hwy hwz hx hxa hxb hxc hxd hxe hxf hxg hxh hxi hxj hxk hxl hxm hxn hxo hxp hxq hxr hxs hxt hxu hxv hxw hxx hxy hxz hy hya hyb hyc hyd hye hyf hyg hyh hyi hyj hyk hyl hym hyn hyo hyp hyq hyr hys hyt hyu hyv hyw hyx hyy hyz hz hza hzb hzc hzd hze hzf hzg hzh hzi hzj hzk hzl hzm hzn hzo hzp hzq hzr hzs hzt hzu hzv hzw hzx hzy hzz i ia iaa iab iac iad iae iaf iag iah iai iaj iak ial iam ian iao iap iaq iar ias iat iau iav iaw iax iay iaz ib iba ibb ibc ibd ibe ibf ibg ibh ibi ibj ibk ibl ibm ibn ibo ibp ibq ibr ibs ibt ibu ibv ibw ibx iby ibz ic ica icb icc icd ice icf icg ich ici icj ick icl icm icn ico icp icq icr ics ict icu icv icw icx icy icz id ida idb idc idd ide idf idg idh idi idj idk idl idm idn ido idp idq idr ids idt idu idv idw idx idy idz ie iea ieb iec ied iee ief ieg ieh iei iej iek iel iem ien ieo iep ieq ier ies iet ieu iev iew iex iey iez if ifa ifb ifc ifd ife iff ifg ifh ifi ifj ifk ifl ifm ifn ifo ifp ifq ifr ifs ift ifu ifv ifw ifx ify ifz ig iga igb igc igd ige igf igg igh igi igj igk igl igm ign igo igp igq igr igs igt igu igv igw igx igy igz ih iha ihb ihc ihd ihe ihf ihg ihh ihi ihj ihk ihl ihm ihn iho ihp ihq ihr ihs iht ihu ihv ihw ihx ihy ihz ii iia iib iic iid iie iif iig iih iii iij iik iil iim iin iio iip iiq iir iis iit iiu iiv iiw iix iiy iiz ij ija ijb ijc ijd ije ijf ijg ijh iji ijj ijk ijl ijm ijn ijo ijp ijq ijr ijs ijt iju ijv ijw ijx ijy ijz ik ika ikb ikc ikd ike ikf ikg ikh iki ikj ikk ikl ikm ikn iko ikp ikq ikr iks ikt iku ikv ikw ikx iky ikz il ila ilb ilc ild ile ilf ilg ilh ili ilj ilk ill ilm iln ilo ilp ilq ilr ils ilt ilu ilv ilw ilx ily ilz im ima imb imc imd ime imf img imh imi imj imk iml imm imn imo imp imq imr ims imt imu imv imw imx imy imz in ina inb inc ind ine inf ing inh ini inj ink inl inm inn ino inp inq inr ins int inu inv inw inx iny inz io ioa iob ioc iod ioe iof iog ioh ioi ioj iok iol iom ion ioo iop ioq ior ios iot iou iov iow iox ioy ioz ip ipa ipb ipc ipd ipe ipf ipg iph ipi ipj ipk ipl ipm ipn ipo ipp ipq ipr ips ipt ipu ipv ipw ipx ipy ipz iq iqa iqb iqc iqd iqe iqf iqg iqh iqi iqj iqk iql iqm iqn iqo iqp iqq iqr iqs iqt iqu iqv iqw iqx iqy iqz ir ira irb irc ird ire irf irg irh iri irj irk irl irm irn iro irp irq irr irs irt iru irv irw irx iry irz is isa isb isc isd ise isf isg ish isi isj isk isl ism isn iso isp isq isr iss ist isu isv isw isx isy isz it ita itb itc itd ite itf itg ith iti itj itk itl itm itn ito itp itq itr its itt itu itv itw itx ity itz iu iua iub iuc iud iue iuf iug iuh iui iuj iuk iul ium iun iuo iup iuq iur ius iut iuu iuv iuw iux iuy iuz iv iva ivb ivc ivd ive ivf ivg ivh ivi ivj ivk ivl ivm ivn ivo ivp ivq ivr ivs ivt ivu ivv ivw ivx ivy ivz iw iwa iwb iwc iwd iwe iwf iwg iwh iwi iwj iwk iwl iwm iwn iwo iwp iwq iwr iws iwt iwu iwv iww iwx iwy iwz ix ixa ixb ixc ixd ixe ixf ixg ixh ixi ixj ixk ixl ixm ixn ixo ixp ixq ixr ixs ixt ixu ixv ixw ixx ixy ixz iy iya iyb iyc iyd iye iyf iyg iyh iyi iyj iyk iyl iym iyn iyo iyp iyq iyr iys iyt iyu iyv iyw iyx iyy iyz iz iza izb izc izd ize izf izg izh izi izj izk izl izm izn izo izp izq izr izs izt izu izv izw izx izy izz j ja jaa jab jac jad jae jaf jag jah jai jaj jak jal jam jan jao jap jaq jar jas jat jau jav jaw jax jay jaz jb jba jbb jbc jbd jbe jbf jbg jbh jbi jbj jbk jbl jbm jbn jbo jbp jbq jbr jbs jbt jbu jbv jbw jbx jby jbz jc jca jcb jcc jcd jce jcf jcg jch jci jcj jck jcl jcm jcn jco jcp jcq jcr jcs jct jcu jcv jcw jcx jcy jcz jd jda jdb jdc jdd jde jdf jdg jdh jdi jdj jdk jdl jdm jdn jdo jdp jdq jdr jds jdt jdu jdv jdw jdx jdy jdz je jea jeb jec jed jee jef jeg jeh jei jej jek jel jem jen jeo jep jeq jer jes jet jeu jev jew jex jey jez jf jfa jfb jfc jfd jfe jff jfg jfh jfi jfj jfk jfl jfm jfn jfo jfp jfq jfr jfs jft jfu jfv jfw jfx jfy jfz jg jga jgb jgc jgd jge jgf jgg jgh jgi jgj jgk jgl jgm jgn jgo jgp jgq jgr jgs jgt jgu jgv jgw jgx jgy jgz jh jha jhb jhc jhd jhe jhf jhg jhh jhi jhj jhk jhl jhm jhn jho jhp jhq jhr jhs jht jhu jhv jhw jhx jhy jhz ji jia jib jic jid jie jif jig jih jii jij jik jil jim jin jio jip jiq jir jis jit jiu jiv jiw jix jiy jiz jj jja jjb jjc jjd jje jjf jjg jjh jji jjj jjk jjl jjm jjn jjo jjp jjq jjr jjs jjt jju jjv jjw jjx jjy jjz jk jka jkb jkc jkd jke jkf jkg jkh jki jkj jkk jkl jkm jkn jko jkp jkq jkr jks jkt jku jkv jkw jkx jky jkz jl jla jlb jlc jld jle jlf jlg jlh jli jlj jlk jll jlm jln jlo jlp jlq jlr jls jlt jlu jlv jlw jlx jly jlz jm jma jmb jmc jmd jme jmf jmg jmh jmi jmj jmk jml jmm jmn jmo jmp jmq jmr jms jmt jmu jmv jmw jmx jmy jmz jn jna jnb jnc jnd jne jnf jng jnh jni jnj jnk jnl jnm jnn jno jnp jnq jnr jns jnt jnu jnv jnw jnx jny jnz jo joa job joc jod joe jof jog joh joi joj jok jol jom jon joo jop joq jor jos jot jou jov jow jox joy joz jp jpa jpb jpc jpd jpe jpf jpg jph jpi jpj jpk jpl jpm jpn jpo jpp jpq jpr jps jpt jpu jpv jpw jpx jpy jpz jq jqa jqb jqc jqd jqe jqf jqg jqh jqi jqj jqk jql jqm jqn jqo jqp jqq jqr jqs jqt jqu jqv jqw jqx jqy jqz jr jra jrb jrc jrd jre jrf jrg jrh jri jrj jrk jrl jrm jrn jro jrp jrq jrr jrs jrt jru jrv jrw jrx jry jrz js jsa jsb jsc jsd jse jsf jsg jsh jsi jsj jsk jsl jsm jsn jso jsp jsq jsr jss jst jsu jsv jsw jsx jsy jsz jt jta jtb jtc jtd jte jtf jtg jth jti jtj jtk jtl jtm jtn jto jtp jtq jtr jts jtt jtu jtv jtw jtx jty jtz ju jua jub juc jud jue juf jug juh jui juj juk jul jum jun juo jup juq jur jus jut juu juv juw jux juy juz jv jva jvb jvc jvd jve jvf jvg jvh jvi jvj jvk jvl jvm jvn jvo jvp jvq jvr jvs jvt jvu jvv jvw jvx jvy jvz jw jwa jwb jwc jwd jwe jwf jwg jwh jwi jwj jwk jwl jwm jwn jwo jwp jwq jwr jws jwt jwu jwv jww jwx jwy jwz jx jxa jxb jxc jxd jxe jxf jxg jxh jxi jxj jxk jxl jxm jxn jxo jxp jxq jxr jxs jxt jxu jxv jxw jxx jxy jxz jy jya jyb jyc jyd jye jyf jyg jyh jyi jyj jyk jyl jym jyn jyo jyp jyq jyr jys jyt jyu jyv jyw jyx jyy jyz jz jza jzb jzc jzd jze jzf jzg jzh jzi jzj jzk jzl jzm jzn jzo jzp jzq jzr jzs jzt jzu jzv jzw jzx jzy jzz k ka kaa kab kac kad kae kaf kag kah kai kaj kak kal kam kan kao kap kaq kar kas kat kau kav kaw kax kay kaz kb kba kbb kbc kbd kbe kbf kbg kbh kbi kbj kbk kbl kbm kbn kbo kbp kbq kbr kbs kbt kbu kbv kbw kbx kby kbz kc kca kcb kcc kcd kce kcf kcg kch kci kcj kck kcl kcm kcn kco kcp kcq kcr kcs kct kcu kcv kcw kcx kcy kcz kd kda kdb kdc kdd kde kdf kdg kdh kdi kdj kdk kdl kdm kdn kdo kdp kdq kdr kds kdt kdu kdv kdw kdx kdy kdz ke kea keb kec ked kee kef keg keh kei kej kek kel kem ken keo kep keq ker kes ket keu kev kew kex key kez kf kfa kfb kfc kfd kfe kff kfg kfh kfi kfj kfk kfl kfm kfn kfo kfp kfq kfr kfs kft kfu kfv kfw kfx kfy kfz kg kga kgb kgc kgd kge kgf kgg kgh kgi kgj kgk kgl kgm kgn kgo kgp kgq kgr kgs kgt kgu kgv kgw kgx kgy kgz kh kha khb khc khd khe khf khg khh khi khj khk khl khm khn kho khp khq khr khs kht khu khv khw khx khy khz ki kia kib kic kid kie kif kig kih kii kij kik kil kim kin kio kip kiq kir kis kit kiu kiv kiw kix kiy kiz kj kja kjb kjc kjd kje kjf kjg kjh kji kjj kjk kjl kjm kjn kjo kjp kjq kjr kjs kjt kju kjv kjw kjx kjy kjz kk kka kkb kkc kkd kke kkf kkg kkh kki kkj kkk kkl kkm kkn kko kkp kkq kkr kks kkt kku kkv kkw kkx kky kkz kl kla klb klc kld kle klf klg klh kli klj klk kll klm kln klo klp klq klr kls klt klu klv klw klx kly klz km kma kmb kmc kmd kme kmf kmg kmh kmi kmj kmk kml kmm kmn kmo kmp kmq kmr kms kmt kmu kmv kmw kmx kmy kmz kn kna knb knc knd kne knf kng knh kni knj knk knl knm knn kno knp knq knr kns knt knu knv knw knx kny knz ko koa kob koc kod koe kof kog koh koi koj kok kol kom kon koo kop koq kor kos kot kou kov kow kox koy koz kp kpa kpb kpc kpd kpe kpf kpg kph kpi kpj kpk kpl kpm kpn kpo kpp kpq kpr kps kpt kpu kpv kpw kpx kpy kpz kq kqa kqb kqc kqd kqe kqf kqg kqh kqi kqj kqk kql kqm kqn kqo kqp kqq kqr kqs kqt kqu kqv kqw kqx kqy kqz kr kra krb krc krd kre krf krg krh kri krj krk krl krm krn kro krp krq krr krs krt kru krv krw krx kry krz ks ksa ksb ksc ksd kse ksf ksg ksh ksi ksj ksk ksl ksm ksn kso ksp ksq ksr kss kst ksu ksv ksw ksx ksy ksz kt kta ktb ktc ktd kte ktf ktg kth kti ktj ktk ktl ktm ktn kto ktp ktq ktr kts ktt ktu ktv ktw ktx kty ktz ku kua kub kuc kud kue kuf kug kuh kui kuj kuk kul kum kun kuo kup kuq kur kus kut kuu kuv kuw kux kuy kuz kv kva kvb kvc kvd kve kvf kvg kvh kvi kvj kvk kvl kvm kvn kvo kvp kvq kvr kvs kvt kvu kvv kvw kvx kvy kvz kw kwa kwb kwc kwd kwe kwf kwg kwh kwi kwj kwk kwl kwm kwn kwo kwp kwq kwr kws kwt kwu kwv kww kwx kwy kwz kx kxa kxb kxc kxd kxe kxf kxg kxh kxi kxj kxk kxl kxm kxn kxo kxp kxq kxr kxs kxt kxu kxv kxw kxx kxy kxz ky kya kyb kyc kyd kye kyf kyg kyh kyi kyj kyk kyl kym kyn kyo kyp kyq kyr kys kyt kyu kyv kyw kyx kyy kyz kz kza kzb kzc kzd kze kzf kzg kzh kzi kzj kzk kzl kzm kzn kzo kzp kzq kzr kzs kzt kzu kzv kzw kzx kzy kzz l la laa lab lac lad lae laf lag lah lai laj lak lal lam lan lao lap laq lar las lat lau lav law lax lay laz lb lba lbb lbc lbd lbe lbf lbg lbh lbi lbj lbk lbl lbm lbn lbo lbp lbq lbr lbs lbt lbu lbv lbw lbx lby lbz lc lca lcb lcc lcd lce lcf lcg lch lci lcj lck lcl lcm lcn lco lcp lcq lcr lcs lct lcu lcv lcw lcx lcy lcz ld lda ldb ldc ldd lde ldf ldg ldh ldi ldj ldk ldl ldm ldn ldo ldp ldq ldr lds ldt ldu ldv ldw ldx ldy ldz le lea leb lec led lee lef leg leh lei lej lek lel lem len leo lep leq ler les let leu lev lew lex ley lez lf lfa lfb lfc lfd lfe lff lfg lfh lfi lfj lfk lfl lfm lfn lfo lfp lfq lfr lfs lft lfu lfv lfw lfx lfy lfz lg lga lgb lgc lgd lge lgf lgg lgh lgi lgj lgk lgl lgm lgn lgo lgp lgq lgr lgs lgt lgu lgv lgw lgx lgy lgz lh lha lhb lhc lhd lhe lhf lhg lhh lhi lhj lhk lhl lhm lhn lho lhp lhq lhr lhs lht lhu lhv lhw lhx lhy lhz li lia lib lic lid lie lif lig lih lii lij lik lil lim lin lio lip liq lir lis lit liu liv liw lix liy liz lj lja ljb ljc ljd lje ljf ljg ljh lji ljj ljk ljl ljm ljn ljo ljp ljq ljr ljs ljt lju ljv ljw ljx ljy ljz lk lka lkb lkc lkd lke lkf lkg lkh lki lkj lkk lkl lkm lkn lko lkp lkq lkr lks lkt lku lkv lkw lkx lky lkz ll lla llb llc lld lle llf llg llh lli llj llk lll llm lln llo llp llq llr lls llt llu llv llw llx lly llz lm lma lmb lmc lmd lme lmf lmg lmh lmi lmj lmk lml lmm lmn lmo lmp lmq lmr lms lmt lmu lmv lmw lmx lmy lmz ln lna lnb lnc lnd lne lnf lng lnh lni lnj lnk lnl lnm lnn lno lnp lnq lnr lns lnt lnu lnv lnw lnx lny lnz lo loa lob loc lod loe lof log loh loi loj lok lol lom lon loo lop loq lor los lot lou lov low lox loy loz lp lpa lpb lpc lpd lpe lpf lpg lph lpi lpj lpk lpl lpm lpn lpo lpp lpq lpr lps lpt lpu lpv lpw lpx lpy lpz lq lqa lqb lqc lqd lqe lqf lqg lqh lqi lqj lqk lql lqm lqn lqo lqp lqq lqr lqs lqt lqu lqv lqw lqx lqy lqz lr lra lrb lrc lrd lre lrf lrg lrh lri lrj lrk lrl lrm lrn lro lrp lrq lrr lrs lrt lru lrv lrw lrx lry lrz ls lsa lsb lsc lsd lse lsf lsg lsh lsi lsj lsk lsl lsm lsn lso lsp lsq lsr lss lst lsu lsv lsw lsx lsy lsz lt lta ltb ltc ltd lte ltf ltg lth lti ltj ltk ltl ltm ltn lto ltp ltq ltr lts ltt ltu ltv ltw ltx lty ltz lu lua lub luc lud lue luf lug luh lui luj luk lul lum lun luo lup luq lur lus lut luu luv luw lux luy luz lv lva lvb lvc lvd lve lvf lvg lvh lvi lvj lvk lvl lvm lvn lvo lvp lvq lvr lvs lvt lvu lvv lvw lvx lvy lvz lw lwa lwb lwc lwd lwe lwf lwg lwh lwi lwj lwk lwl lwm lwn lwo lwp lwq lwr lws lwt lwu lwv lww lwx lwy lwz lx lxa lxb lxc lxd lxe lxf lxg lxh lxi lxj lxk lxl lxm lxn lxo lxp lxq lxr lxs lxt lxu lxv lxw lxx lxy lxz ly lya lyb lyc lyd lye lyf lyg lyh lyi lyj lyk lyl lym lyn lyo lyp lyq lyr lys lyt lyu lyv lyw lyx lyy lyz lz lza lzb lzc lzd lze lzf lzg lzh lzi lzj lzk lzl lzm lzn lzo lzp lzq lzr lzs lzt lzu lzv lzw lzx lzy lzz m ma maa mab mac mad mae maf mag mah mai maj mak mal mam man mao map maq mar mas mat mau mav maw max may maz mb mba mbb mbc mbd mbe mbf mbg mbh mbi mbj mbk mbl mbm mbn mbo mbp mbq mbr mbs mbt mbu mbv mbw mbx mby mbz mc mca mcb mcc mcd mce mcf mcg mch mci mcj mck mcl mcm mcn mco mcp mcq mcr mcs mct mcu mcv mcw mcx mcy mcz md mda mdb mdc mdd mde mdf mdg mdh mdi mdj mdk mdl mdm mdn mdo mdp mdq mdr mds mdt mdu mdv mdw mdx mdy mdz me mea meb mec med mee mef meg meh mei mej mek mel mem men meo mep meq mer mes met meu mev mew mex mey mez mf mfa mfb mfc mfd mfe mff mfg mfh mfi mfj mfk mfl mfm mfn mfo mfp mfq mfr mfs mft mfu mfv mfw mfx mfy mfz mg mga mgb mgc mgd mge mgf mgg mgh mgi mgj mgk mgl mgm mgn mgo mgp mgq mgr mgs mgt mgu mgv mgw mgx mgy mgz mh mha mhb mhc mhd mhe mhf mhg mhh mhi mhj mhk mhl mhm mhn mho mhp mhq mhr mhs mht mhu mhv mhw mhx mhy mhz mi mia mib mic mid mie mif mig mih mii mij mik mil mim min mio mip miq mir mis mit miu miv miw mix miy miz mj mja mjb mjc mjd mje mjf mjg mjh mji mjj mjk mjl mjm mjn mjo mjp mjq mjr mjs mjt mju mjv mjw mjx mjy mjz mk mka mkb mkc mkd mke mkf mkg mkh mki mkj mkk mkl mkm mkn mko mkp mkq mkr mks mkt mku mkv mkw mkx mky mkz ml mla mlb mlc mld mle mlf mlg mlh mli mlj mlk mll mlm mln mlo mlp mlq mlr mls mlt mlu mlv mlw mlx mly mlz mm mma mmb mmc mmd mme mmf mmg mmh mmi mmj mmk mml mmm mmn mmo mmp mmq mmr mms mmt mmu mmv mmw mmx mmy mmz mn mna mnb mnc mnd mne mnf mng mnh mni mnj mnk mnl mnm mnn mno mnp mnq mnr mns mnt mnu mnv mnw mnx mny mnz mo moa mob moc mod moe mof mog moh moi moj mok mol mom mon moo mop moq mor mos mot mou mov mow mox moy moz mp mpa mpb mpc mpd mpe mpf mpg mph mpi mpj mpk mpl mpm mpn mpo mpp mpq mpr mps mpt mpu mpv mpw mpx mpy mpz mq mqa mqb mqc mqd mqe mqf mqg mqh mqi mqj mqk mql mqm mqn mqo mqp mqq mqr mqs mqt mqu mqv mqw mqx mqy mqz mr mra mrb mrc mrd mre mrf mrg mrh mri mrj mrk mrl mrm mrn mro mrp mrq mrr mrs mrt mru mrv mrw mrx mry mrz ms msa msb msc msd mse msf msg msh msi msj msk msl msm msn mso msp msq msr mss mst msu msv msw msx msy msz mt mta mtb mtc mtd mte mtf mtg mth mti mtj mtk mtl mtm mtn mto mtp mtq mtr mts mtt mtu mtv mtw mtx mty mtz mu mua mub muc mud mue muf mug muh mui muj muk mul mum mun muo mup muq mur mus mut muu muv muw mux muy muz mv mva mvb mvc mvd mve mvf mvg mvh mvi mvj mvk mvl mvm mvn mvo mvp mvq mvr mvs mvt mvu mvv mvw mvx mvy mvz mw mwa mwb mwc mwd mwe mwf mwg mwh mwi mwj mwk mwl mwm mwn mwo mwp mwq mwr mws mwt mwu mwv mww mwx mwy mwz mx mxa mxb mxc mxd mxe mxf mxg mxh mxi mxj mxk mxl mxm mxn mxo mxp mxq mxr mxs mxt mxu mxv mxw mxx mxy mxz my mya myb myc myd mye myf myg myh myi myj myk myl mym myn myo myp myq myr mys myt myu myv myw myx myy myz mz mza mzb mzc mzd mze mzf mzg mzh mzi mzj mzk mzl mzm mzn mzo mzp mzq mzr mzs mzt mzu mzv mzw mzx mzy mzz n na naa nab nac nad nae naf nag nah nai naj nak nal nam nan nao nap naq nar nas nat nau nav naw nax nay naz nb nba nbb nbc nbd nbe nbf nbg nbh nbi nbj nbk nbl nbm nbn nbo nbp nbq nbr nbs nbt nbu nbv nbw nbx nby nbz nc nca ncb ncc ncd nce ncf ncg nch nci ncj nck ncl ncm ncn nco ncp ncq ncr ncs nct ncu ncv ncw ncx ncy ncz nd nda ndb ndc ndd nde ndf ndg ndh ndi ndj ndk ndl ndm ndn ndo ndp ndq ndr nds ndt ndu ndv ndw ndx ndy ndz ne nea neb nec ned nee nef neg neh nei nej nek nel nem nen neo nep neq ner nes net neu nev new nex ney nez nf nfa nfb nfc nfd nfe nff nfg nfh nfi nfj nfk nfl nfm nfn nfo nfp nfq nfr nfs nft nfu nfv nfw nfx nfy nfz ng nga ngb ngc ngd nge ngf ngg ngh ngi ngj ngk ngl ngm ngn ngo ngp ngq ngr ngs ngt ngu ngv ngw ngx ngy ngz nh nha nhb nhc nhd nhe nhf nhg nhh nhi nhj nhk nhl nhm nhn nho nhp nhq nhr nhs nht nhu nhv nhw nhx nhy nhz ni nia nib nic nid nie nif nig nih nii nij nik nil nim nin nio nip niq nir nis nit niu niv niw nix niy niz nj nja njb njc njd nje njf njg njh nji njj njk njl njm njn njo njp njq njr njs njt nju njv njw njx njy njz nk nka nkb nkc nkd nke nkf nkg nkh nki nkj nkk nkl nkm nkn nko nkp nkq nkr nks nkt nku nkv nkw nkx nky nkz nl nla nlb nlc nld nle nlf nlg nlh nli nlj nlk nll nlm nln nlo nlp nlq nlr nls nlt nlu nlv nlw nlx nly nlz nm nma nmb nmc nmd nme nmf nmg nmh nmi nmj nmk nml nmm nmn nmo nmp nmq nmr nms nmt nmu nmv nmw nmx nmy nmz nn nna nnb nnc nnd nne nnf nng nnh nni nnj nnk nnl nnm nnn nno nnp nnq nnr nns nnt nnu nnv nnw nnx nny nnz no noa nob noc nod noe nof nog noh noi noj nok nol nom non noo nop noq nor nos not nou nov now nox noy noz np npa npb npc npd npe npf npg nph npi npj npk npl npm npn npo npp npq npr nps npt npu npv npw npx npy npz nq nqa nqb nqc nqd nqe nqf nqg nqh nqi nqj nqk nql nqm nqn nqo nqp nqq nqr nqs nqt nqu nqv nqw nqx nqy nqz nr nra nrb nrc nrd nre nrf nrg nrh nri nrj nrk nrl nrm nrn nro nrp nrq nrr nrs nrt nru nrv nrw nrx nry nrz ns nsa nsb nsc nsd nse nsf nsg nsh nsi nsj nsk nsl nsm nsn nso nsp nsq nsr nss nst nsu nsv nsw nsx nsy nsz nt nta ntb ntc ntd nte ntf ntg nth nti ntj ntk ntl ntm ntn nto ntp ntq ntr nts ntt ntu ntv ntw ntx nty ntz nu nua nub nuc nud nue nuf nug nuh nui nuj nuk nul num nun nuo nup nuq nur nus nut nuu nuv nuw nux nuy nuz nv nva nvb nvc nvd nve nvf nvg nvh nvi nvj nvk nvl nvm nvn nvo nvp nvq nvr nvs nvt nvu nvv nvw nvx nvy nvz nw nwa nwb nwc nwd nwe nwf nwg nwh nwi nwj nwk nwl nwm nwn nwo nwp nwq nwr nws nwt nwu nwv nww nwx nwy nwz nx nxa nxb nxc nxd nxe nxf nxg nxh nxi nxj nxk nxl nxm nxn nxo nxp nxq nxr nxs nxt nxu nxv nxw nxx nxy nxz ny nya nyb nyc nyd nye nyf nyg nyh nyi nyj nyk nyl nym nyn nyo nyp nyq nyr nys nyt nyu nyv nyw nyx nyy nyz nz nza nzb nzc nzd nze nzf nzg nzh nzi nzj nzk nzl nzm nzn nzo nzp nzq nzr nzs nzt nzu nzv nzw nzx nzy nzz o oa oaa oab oac oad oae oaf oag oah oai oaj oak oal oam oan oao oap oaq oar oas oat oau oav oaw oax oay oaz ob oba obb obc obd obe obf obg obh obi obj obk obl obm obn obo obp obq obr obs obt obu obv obw obx oby obz oc oca ocb occ ocd oce ocf ocg och oci ocj ock ocl ocm ocn oco ocp ocq ocr ocs oct ocu ocv ocw ocx ocy ocz od oda odb odc odd ode odf odg odh odi odj odk odl odm odn odo odp odq odr ods odt odu odv odw odx ody odz oe oea oeb oec oed oee oef oeg oeh oei oej oek oel oem oen oeo oep oeq oer oes oet oeu oev oew oex oey oez of ofa ofb ofc ofd ofe off ofg ofh ofi ofj ofk ofl ofm ofn ofo ofp ofq ofr ofs oft ofusifter.js-0.5.3/bin/000077500000000000000000000000001321014527000141715ustar00rootroot00000000000000sifter.js-0.5.3/bin/sifter.js000077500000000000000000000075411321014527000160350ustar00rootroot00000000000000#!/usr/bin/env node /** * Sifter CLI * * Copyright (c) 2013-2017 Brian Reavis * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. * * @author Brian Reavis */ var path = require('path'); var fs = require('fs'); var optimist = require('optimist'); var cardinal = require('cardinal'); var async = require('async'); var csv = require('csv-parse'); var Stream = require('stream'); var humanize = require('humanize'); var Sifter = require('../lib/sifter'); var highlight = function(obj) { return cardinal.highlight(JSON.stringify(obj)); }; var raw, data, result, t_start, t_end; var argv = optimist .usage('Usage: $0 --query="search query" --fields=a,b') .default('direction', 'asc') .default('sort', '') .default('query', '') .default('fields', '') .describe('fields', 'Search fields (comma separated)') .describe('query', 'Search query') .describe('sort', 'Sort field') .describe('direction', 'Sort direction') .describe('file', 'CSV or JSON dataset') .argv; /** * Reads input from file or stdin. * * @param {function} callback */ var step_read = function(callback) { var buffer = []; if (argv.file) { raw = fs.readFileSync(argv.file, 'utf8'); callback(); } else { process.stdin.on('data', function(chunk) { buffer.push(chunk); }); process.stdin.on('end', function() { raw = buffer.join('').replace(/^\s+|\s+$/g, ''); callback(); }); process.stdin.resume(); process.stdin.setEncoding('utf8'); } }; /** * Parses input input data into an array of * an items that can be sifted through. * * Accepts CSV & JSON. * * @param {function} callback */ var step_parse = function(callback) { // json if (raw[0] === '[') { try { data = JSON.parse(raw); } catch (e) { return callback(new Error('Unable to parse JSON.')); } return callback(); } // csv data = []; csv(raw, {columns: true}, function(err, parsed) { if (err) return callback(err); parsed.forEach(function(line) { if (Array.isArray(line)) return; data.push(line); }); callback(); }); }; /** * Search! * * @param {function} callback */ var step_sift = function(callback) { var sifter = new Sifter(data); var sort = argv.sort && [{ field: argv.sort, direction: argv.direction }]; t_start = Date.now(); result = sifter.search(argv.query, { fields: (typeof argv.fields !== 'undefined' ? String(argv.fields) : '').split(','), limit: argv.limit, sort: sort }); t_end = Date.now(); callback(); }; /** * Format and display output to console. * * @param {function} callback */ var step_output = function(callback) { var i, n, json; console.log('query = ' + JSON.stringify(result.query)); console.log('fields = ' + result.options.fields.join(', ')); console.log('total results = ' + humanize.numberFormat(result.total, 0)); console.log('total searched = ' + humanize.numberFormat(data.length, 0)); console.log('search time = ' + humanize.numberFormat((t_end - t_start) / 1000) + 'ms'); console.log(''); for (i = 0, n = result.items.length; i < n; i++) { process.stdout.write('\033[1;30m' + result.items[i].score.toFixed(5) + '\033[0;39m '); console.log(highlight(data[result.items[i].id])); } callback(); }; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - async.series([ step_read, step_parse, step_sift, step_output ], function(err) { if (err) throw err; process.exit(0); }); sifter.js-0.5.3/bower.json000066400000000000000000000011431321014527000154310ustar00rootroot00000000000000{ "name": "sifter", "keywords": ["search","filter","sift","data","results","match","sort","autocomplete"], "description": "A library for textually searching arrays and hashes of objects by property (or multiple properties). Designed specifically for autocomplete.", "version": "0.5.3", "license": "Apache License, Version 2.0", "readmeFilename": "README.md", "repository": { "type": "git", "url": "git://github.com/brianreavis/sifter.js.git" }, "main": ["sifter.js"], "ignore": [ "Makefile", "test", "lib", "bin", "benchmark", "node_modules", ".travis.yml" ], "dependencies": {} } sifter.js-0.5.3/lib/000077500000000000000000000000001321014527000141675ustar00rootroot00000000000000sifter.js-0.5.3/lib/sifter.js000066400000000000000000000324371321014527000160320ustar00rootroot00000000000000/** * sifter.js * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. * * @author Brian Reavis */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports === 'object') { module.exports = factory(); } else { root.Sifter = factory(); } }(this, function() { /** * Textually searches arrays and hashes of objects * by property (or multiple properties). Designed * specifically for autocomplete. * * @constructor * @param {array|object} items * @param {object} items */ var Sifter = function(items, settings) { this.items = items; this.settings = settings || {diacritics: true}; }; /** * Splits a search string into an array of individual * regexps to be used to match results. * * @param {string} query * @returns {array} */ Sifter.prototype.tokenize = function(query) { query = trim(String(query || '').toLowerCase()); if (!query || !query.length) return []; var i, n, regex, letter; var tokens = []; var words = query.split(/ +/); for (i = 0, n = words.length; i < n; i++) { regex = escape_regex(words[i]); if (this.settings.diacritics) { for (letter in DIACRITICS) { if (DIACRITICS.hasOwnProperty(letter)) { regex = regex.replace(new RegExp(letter, 'g'), DIACRITICS[letter]); } } } tokens.push({ string : words[i], regex : new RegExp(regex, 'i') }); } return tokens; }; /** * Iterates over arrays and hashes. * * ``` * this.iterator(this.items, function(item, id) { * // invoked for each item * }); * ``` * * @param {array|object} object */ Sifter.prototype.iterator = function(object, callback) { var iterator; if (is_array(object)) { iterator = Array.prototype.forEach || function(callback) { for (var i = 0, n = this.length; i < n; i++) { callback(this[i], i, this); } }; } else { iterator = function(callback) { for (var key in this) { if (this.hasOwnProperty(key)) { callback(this[key], key, this); } } }; } iterator.apply(object, [callback]); }; /** * Returns a function to be used to score individual results. * * Good matches will have a higher score than poor matches. * If an item is not a match, 0 will be returned by the function. * * @param {object|string} search * @param {object} options (optional) * @returns {function} */ Sifter.prototype.getScoreFunction = function(search, options) { var self, fields, tokens, token_count, nesting; self = this; search = self.prepareSearch(search, options); tokens = search.tokens; fields = search.options.fields; token_count = tokens.length; nesting = search.options.nesting; /** * Calculates how close of a match the * given value is against a search token. * * @param {mixed} value * @param {object} token * @return {number} */ var scoreValue = function(value, token) { var score, pos; if (!value) return 0; value = String(value || ''); pos = value.search(token.regex); if (pos === -1) return 0; score = token.string.length / value.length; if (pos === 0) score += 0.5; return score; }; /** * Calculates the score of an object * against the search query. * * @param {object} token * @param {object} data * @return {number} */ var scoreObject = (function() { var field_count = fields.length; if (!field_count) { return function() { return 0; }; } if (field_count === 1) { return function(token, data) { return scoreValue(getattr(data, fields[0], nesting), token); }; } return function(token, data) { for (var i = 0, sum = 0; i < field_count; i++) { sum += scoreValue(getattr(data, fields[i], nesting), token); } return sum / field_count; }; })(); if (!token_count) { return function() { return 0; }; } if (token_count === 1) { return function(data) { return scoreObject(tokens[0], data); }; } if (search.options.conjunction === 'and') { return function(data) { var score; for (var i = 0, sum = 0; i < token_count; i++) { score = scoreObject(tokens[i], data); if (score <= 0) return 0; sum += score; } return sum / token_count; }; } else { return function(data) { for (var i = 0, sum = 0; i < token_count; i++) { sum += scoreObject(tokens[i], data); } return sum / token_count; }; } }; /** * Returns a function that can be used to compare two * results, for sorting purposes. If no sorting should * be performed, `null` will be returned. * * @param {string|object} search * @param {object} options * @return function(a,b) */ Sifter.prototype.getSortFunction = function(search, options) { var i, n, self, field, fields, fields_count, multiplier, multipliers, get_field, implicit_score, sort; self = this; search = self.prepareSearch(search, options); sort = (!search.query && options.sort_empty) || options.sort; /** * Fetches the specified sort field value * from a search result item. * * @param {string} name * @param {object} result * @return {mixed} */ get_field = function(name, result) { if (name === '$score') return result.score; return getattr(self.items[result.id], name, options.nesting); }; // parse options fields = []; if (sort) { for (i = 0, n = sort.length; i < n; i++) { if (search.query || sort[i].field !== '$score') { fields.push(sort[i]); } } } // the "$score" field is implied to be the primary // sort field, unless it's manually specified if (search.query) { implicit_score = true; for (i = 0, n = fields.length; i < n; i++) { if (fields[i].field === '$score') { implicit_score = false; break; } } if (implicit_score) { fields.unshift({field: '$score', direction: 'desc'}); } } else { for (i = 0, n = fields.length; i < n; i++) { if (fields[i].field === '$score') { fields.splice(i, 1); break; } } } multipliers = []; for (i = 0, n = fields.length; i < n; i++) { multipliers.push(fields[i].direction === 'desc' ? -1 : 1); } // build function fields_count = fields.length; if (!fields_count) { return null; } else if (fields_count === 1) { field = fields[0].field; multiplier = multipliers[0]; return function(a, b) { return multiplier * cmp( get_field(field, a), get_field(field, b) ); }; } else { return function(a, b) { var i, result, a_value, b_value, field; for (i = 0; i < fields_count; i++) { field = fields[i].field; result = multipliers[i] * cmp( get_field(field, a), get_field(field, b) ); if (result) return result; } return 0; }; } }; /** * Parses a search query and returns an object * with tokens and fields ready to be populated * with results. * * @param {string} query * @param {object} options * @returns {object} */ Sifter.prototype.prepareSearch = function(query, options) { if (typeof query === 'object') return query; options = extend({}, options); var option_fields = options.fields; var option_sort = options.sort; var option_sort_empty = options.sort_empty; if (option_fields && !is_array(option_fields)) options.fields = [option_fields]; if (option_sort && !is_array(option_sort)) options.sort = [option_sort]; if (option_sort_empty && !is_array(option_sort_empty)) options.sort_empty = [option_sort_empty]; return { options : options, query : String(query || '').toLowerCase(), tokens : this.tokenize(query), total : 0, items : [] }; }; /** * Searches through all items and returns a sorted array of matches. * * The `options` parameter can contain: * * - fields {string|array} * - sort {array} * - score {function} * - filter {bool} * - limit {integer} * * Returns an object containing: * * - options {object} * - query {string} * - tokens {array} * - total {int} * - items {array} * * @param {string} query * @param {object} options * @returns {object} */ Sifter.prototype.search = function(query, options) { var self = this, value, score, search, calculateScore; var fn_sort; var fn_score; search = this.prepareSearch(query, options); options = search.options; query = search.query; // generate result scoring function fn_score = options.score || self.getScoreFunction(search); // perform search and sort if (query.length) { self.iterator(self.items, function(item, id) { score = fn_score(item); if (options.filter === false || score > 0) { search.items.push({'score': score, 'id': id}); } }); } else { self.iterator(self.items, function(item, id) { search.items.push({'score': 1, 'id': id}); }); } fn_sort = self.getSortFunction(search, options); if (fn_sort) search.items.sort(fn_sort); // apply limits search.total = search.items.length; if (typeof options.limit === 'number') { search.items = search.items.slice(0, options.limit); } return search; }; // utilities // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - var cmp = function(a, b) { if (typeof a === 'number' && typeof b === 'number') { return a > b ? 1 : (a < b ? -1 : 0); } a = asciifold(String(a || '')); b = asciifold(String(b || '')); if (a > b) return 1; if (b > a) return -1; return 0; }; var extend = function(a, b) { var i, n, k, object; for (i = 1, n = arguments.length; i < n; i++) { object = arguments[i]; if (!object) continue; for (k in object) { if (object.hasOwnProperty(k)) { a[k] = object[k]; } } } return a; }; /** * A property getter resolving dot-notation * @param {Object} obj The root object to fetch property on * @param {String} name The optionally dotted property name to fetch * @param {Boolean} nesting Handle nesting or not * @return {Object} The resolved property value */ var getattr = function(obj, name, nesting) { if (!obj || !name) return; if (!nesting) return obj[name]; var names = name.split("."); while(names.length && (obj = obj[names.shift()])); return obj; }; var trim = function(str) { return (str + '').replace(/^\s+|\s+$|/g, ''); }; var escape_regex = function(str) { return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'); }; var is_array = Array.isArray || (typeof $ !== 'undefined' && $.isArray) || function(object) { return Object.prototype.toString.call(object) === '[object Array]'; }; var DIACRITICS = { 'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]', 'b': '[b␢βΒB฿𐌁ᛒ]', 'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]', 'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]', 'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]', 'f': '[fƑƒḞḟ]', 'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]', 'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]', 'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]', 'j': '[jȷĴĵɈɉʝɟʲ]', 'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]', 'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]', 'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]', 'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]', 'p': '[pṔṕṖṗⱣᵽƤƥᵱ]', 'q': '[qꝖꝗʠɊɋꝘꝙq̃]', 'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]', 's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]', 't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]', 'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]', 'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]', 'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]', 'x': '[xẌẍẊẋχ]', 'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]', 'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]' }; var asciifold = (function() { var i, n, k, chunk; var foreignletters = ''; var lookup = {}; for (k in DIACRITICS) { if (DIACRITICS.hasOwnProperty(k)) { chunk = DIACRITICS[k].substring(2, DIACRITICS[k].length - 1); foreignletters += chunk; for (i = 0, n = chunk.length; i < n; i++) { lookup[chunk.charAt(i)] = k; } } } var regexp = new RegExp('[' + foreignletters + ']', 'g'); return function(str) { return str.replace(regexp, function(foreignletter) { return lookup[foreignletter]; }).toLowerCase(); }; })(); // export // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return Sifter; })); sifter.js-0.5.3/package.json000066400000000000000000000017321321014527000157120ustar00rootroot00000000000000{ "name": "sifter", "keywords": [ "search", "filter", "sift", "data", "results", "match", "sort", "autocomplete" ], "description": "A library for textually searching arrays and hashes of objects by property (or multiple properties). Designed specifically for autocomplete.", "version": "0.5.3", "license": "Apache-2.0", "author": "Brian Reavis ", "main": "./sifter.js", "repository": { "type": "git", "url": "git://github.com/brianreavis/sifter.js.git" }, "scripts": { "test": "mocha -R list" }, "bin": { "sifter": "./bin/sifter.js" }, "dependencies": { "optimist": "^0.6.1", "cardinal": "^1.0.0", "async": "^2.6.0", "humanize": "^0.0.9", "csv-parse": "^2.0.0" }, "devDependencies": { "coveralls": "^3.0.0", "istanbul": "^0.4.5", "mocha": "^4.0.1", "mocha-istanbul": "^0.3.0", "mocha-lcov-reporter": "^1.3.0", "uglify-js": "^3.2.0" } } sifter.js-0.5.3/sifter.js000066400000000000000000000324371321014527000152640ustar00rootroot00000000000000/** * sifter.js * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. * * @author Brian Reavis */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports === 'object') { module.exports = factory(); } else { root.Sifter = factory(); } }(this, function() { /** * Textually searches arrays and hashes of objects * by property (or multiple properties). Designed * specifically for autocomplete. * * @constructor * @param {array|object} items * @param {object} items */ var Sifter = function(items, settings) { this.items = items; this.settings = settings || {diacritics: true}; }; /** * Splits a search string into an array of individual * regexps to be used to match results. * * @param {string} query * @returns {array} */ Sifter.prototype.tokenize = function(query) { query = trim(String(query || '').toLowerCase()); if (!query || !query.length) return []; var i, n, regex, letter; var tokens = []; var words = query.split(/ +/); for (i = 0, n = words.length; i < n; i++) { regex = escape_regex(words[i]); if (this.settings.diacritics) { for (letter in DIACRITICS) { if (DIACRITICS.hasOwnProperty(letter)) { regex = regex.replace(new RegExp(letter, 'g'), DIACRITICS[letter]); } } } tokens.push({ string : words[i], regex : new RegExp(regex, 'i') }); } return tokens; }; /** * Iterates over arrays and hashes. * * ``` * this.iterator(this.items, function(item, id) { * // invoked for each item * }); * ``` * * @param {array|object} object */ Sifter.prototype.iterator = function(object, callback) { var iterator; if (is_array(object)) { iterator = Array.prototype.forEach || function(callback) { for (var i = 0, n = this.length; i < n; i++) { callback(this[i], i, this); } }; } else { iterator = function(callback) { for (var key in this) { if (this.hasOwnProperty(key)) { callback(this[key], key, this); } } }; } iterator.apply(object, [callback]); }; /** * Returns a function to be used to score individual results. * * Good matches will have a higher score than poor matches. * If an item is not a match, 0 will be returned by the function. * * @param {object|string} search * @param {object} options (optional) * @returns {function} */ Sifter.prototype.getScoreFunction = function(search, options) { var self, fields, tokens, token_count, nesting; self = this; search = self.prepareSearch(search, options); tokens = search.tokens; fields = search.options.fields; token_count = tokens.length; nesting = search.options.nesting; /** * Calculates how close of a match the * given value is against a search token. * * @param {mixed} value * @param {object} token * @return {number} */ var scoreValue = function(value, token) { var score, pos; if (!value) return 0; value = String(value || ''); pos = value.search(token.regex); if (pos === -1) return 0; score = token.string.length / value.length; if (pos === 0) score += 0.5; return score; }; /** * Calculates the score of an object * against the search query. * * @param {object} token * @param {object} data * @return {number} */ var scoreObject = (function() { var field_count = fields.length; if (!field_count) { return function() { return 0; }; } if (field_count === 1) { return function(token, data) { return scoreValue(getattr(data, fields[0], nesting), token); }; } return function(token, data) { for (var i = 0, sum = 0; i < field_count; i++) { sum += scoreValue(getattr(data, fields[i], nesting), token); } return sum / field_count; }; })(); if (!token_count) { return function() { return 0; }; } if (token_count === 1) { return function(data) { return scoreObject(tokens[0], data); }; } if (search.options.conjunction === 'and') { return function(data) { var score; for (var i = 0, sum = 0; i < token_count; i++) { score = scoreObject(tokens[i], data); if (score <= 0) return 0; sum += score; } return sum / token_count; }; } else { return function(data) { for (var i = 0, sum = 0; i < token_count; i++) { sum += scoreObject(tokens[i], data); } return sum / token_count; }; } }; /** * Returns a function that can be used to compare two * results, for sorting purposes. If no sorting should * be performed, `null` will be returned. * * @param {string|object} search * @param {object} options * @return function(a,b) */ Sifter.prototype.getSortFunction = function(search, options) { var i, n, self, field, fields, fields_count, multiplier, multipliers, get_field, implicit_score, sort; self = this; search = self.prepareSearch(search, options); sort = (!search.query && options.sort_empty) || options.sort; /** * Fetches the specified sort field value * from a search result item. * * @param {string} name * @param {object} result * @return {mixed} */ get_field = function(name, result) { if (name === '$score') return result.score; return getattr(self.items[result.id], name, options.nesting); }; // parse options fields = []; if (sort) { for (i = 0, n = sort.length; i < n; i++) { if (search.query || sort[i].field !== '$score') { fields.push(sort[i]); } } } // the "$score" field is implied to be the primary // sort field, unless it's manually specified if (search.query) { implicit_score = true; for (i = 0, n = fields.length; i < n; i++) { if (fields[i].field === '$score') { implicit_score = false; break; } } if (implicit_score) { fields.unshift({field: '$score', direction: 'desc'}); } } else { for (i = 0, n = fields.length; i < n; i++) { if (fields[i].field === '$score') { fields.splice(i, 1); break; } } } multipliers = []; for (i = 0, n = fields.length; i < n; i++) { multipliers.push(fields[i].direction === 'desc' ? -1 : 1); } // build function fields_count = fields.length; if (!fields_count) { return null; } else if (fields_count === 1) { field = fields[0].field; multiplier = multipliers[0]; return function(a, b) { return multiplier * cmp( get_field(field, a), get_field(field, b) ); }; } else { return function(a, b) { var i, result, a_value, b_value, field; for (i = 0; i < fields_count; i++) { field = fields[i].field; result = multipliers[i] * cmp( get_field(field, a), get_field(field, b) ); if (result) return result; } return 0; }; } }; /** * Parses a search query and returns an object * with tokens and fields ready to be populated * with results. * * @param {string} query * @param {object} options * @returns {object} */ Sifter.prototype.prepareSearch = function(query, options) { if (typeof query === 'object') return query; options = extend({}, options); var option_fields = options.fields; var option_sort = options.sort; var option_sort_empty = options.sort_empty; if (option_fields && !is_array(option_fields)) options.fields = [option_fields]; if (option_sort && !is_array(option_sort)) options.sort = [option_sort]; if (option_sort_empty && !is_array(option_sort_empty)) options.sort_empty = [option_sort_empty]; return { options : options, query : String(query || '').toLowerCase(), tokens : this.tokenize(query), total : 0, items : [] }; }; /** * Searches through all items and returns a sorted array of matches. * * The `options` parameter can contain: * * - fields {string|array} * - sort {array} * - score {function} * - filter {bool} * - limit {integer} * * Returns an object containing: * * - options {object} * - query {string} * - tokens {array} * - total {int} * - items {array} * * @param {string} query * @param {object} options * @returns {object} */ Sifter.prototype.search = function(query, options) { var self = this, value, score, search, calculateScore; var fn_sort; var fn_score; search = this.prepareSearch(query, options); options = search.options; query = search.query; // generate result scoring function fn_score = options.score || self.getScoreFunction(search); // perform search and sort if (query.length) { self.iterator(self.items, function(item, id) { score = fn_score(item); if (options.filter === false || score > 0) { search.items.push({'score': score, 'id': id}); } }); } else { self.iterator(self.items, function(item, id) { search.items.push({'score': 1, 'id': id}); }); } fn_sort = self.getSortFunction(search, options); if (fn_sort) search.items.sort(fn_sort); // apply limits search.total = search.items.length; if (typeof options.limit === 'number') { search.items = search.items.slice(0, options.limit); } return search; }; // utilities // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - var cmp = function(a, b) { if (typeof a === 'number' && typeof b === 'number') { return a > b ? 1 : (a < b ? -1 : 0); } a = asciifold(String(a || '')); b = asciifold(String(b || '')); if (a > b) return 1; if (b > a) return -1; return 0; }; var extend = function(a, b) { var i, n, k, object; for (i = 1, n = arguments.length; i < n; i++) { object = arguments[i]; if (!object) continue; for (k in object) { if (object.hasOwnProperty(k)) { a[k] = object[k]; } } } return a; }; /** * A property getter resolving dot-notation * @param {Object} obj The root object to fetch property on * @param {String} name The optionally dotted property name to fetch * @param {Boolean} nesting Handle nesting or not * @return {Object} The resolved property value */ var getattr = function(obj, name, nesting) { if (!obj || !name) return; if (!nesting) return obj[name]; var names = name.split("."); while(names.length && (obj = obj[names.shift()])); return obj; }; var trim = function(str) { return (str + '').replace(/^\s+|\s+$|/g, ''); }; var escape_regex = function(str) { return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'); }; var is_array = Array.isArray || (typeof $ !== 'undefined' && $.isArray) || function(object) { return Object.prototype.toString.call(object) === '[object Array]'; }; var DIACRITICS = { 'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]', 'b': '[b␢βΒB฿𐌁ᛒ]', 'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]', 'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]', 'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]', 'f': '[fƑƒḞḟ]', 'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]', 'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]', 'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]', 'j': '[jȷĴĵɈɉʝɟʲ]', 'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]', 'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]', 'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]', 'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]', 'p': '[pṔṕṖṗⱣᵽƤƥᵱ]', 'q': '[qꝖꝗʠɊɋꝘꝙq̃]', 'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]', 's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]', 't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]', 'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]', 'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]', 'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]', 'x': '[xẌẍẊẋχ]', 'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]', 'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]' }; var asciifold = (function() { var i, n, k, chunk; var foreignletters = ''; var lookup = {}; for (k in DIACRITICS) { if (DIACRITICS.hasOwnProperty(k)) { chunk = DIACRITICS[k].substring(2, DIACRITICS[k].length - 1); foreignletters += chunk; for (i = 0, n = chunk.length; i < n; i++) { lookup[chunk.charAt(i)] = k; } } } var regexp = new RegExp('[' + foreignletters + ']', 'g'); return function(str) { return str.replace(regexp, function(foreignletter) { return lookup[foreignletter]; }).toLowerCase(); }; })(); // export // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return Sifter; })); sifter.js-0.5.3/test/000077500000000000000000000000001321014527000144005ustar00rootroot00000000000000sifter.js-0.5.3/test/api.js000066400000000000000000000364641321014527000155240ustar00rootroot00000000000000var assert = require('assert'); var Sifter = require('../lib/sifter.js'); describe('Sifter', function() { describe('#tokenize()', function() { var sifter, tokens; it('should return an empty array when given an empty string', function() { var sifter = new Sifter([]); var tokens = sifter.tokenize(''); assert.equal(tokens.length, 0); }); it('should return an array', function() { var sifter = new Sifter([]); var tokens = sifter.tokenize('hello world'); assert.equal(Array.isArray(tokens), true); }); it('should split string by spaces', function() { var sifter = new Sifter([]); var tokens = sifter.tokenize('hello world'); assert.equal(tokens.length, 2); }); describe('returned tokens', function() { before(function() { sifter = new Sifter([]); tokens = sifter.tokenize('hello world'); }); describe('"string" property', function() { it('should exist', function() { assert.notEqual(typeof tokens[0].string, 'undefined'); }); it('should be a string', function() { assert.equal(typeof tokens[0].string, 'string'); }); it('should be valid', function() { assert.equal(tokens[0].string, 'hello'); assert.equal(tokens[1].string, 'world'); }); }); describe('"regex" property', function() { it('should exist', function() { assert.notEqual(typeof tokens[0].regex, 'undefined'); }); it('should be a RegExp object', function() { assert.equal(tokens[0].regex instanceof RegExp, true); }); it('should ignore case', function() { assert.equal(tokens[0].regex.test('HelLO'), true); assert.equal(tokens[1].regex.test('wORLD'), true); }); it('should not be too greedy', function() { assert.equal(tokens[0].regex.test('afawfaf'), false); }); it('should match international characters', function() { assert.equal(tokens[0].regex.test('hęłlö'), true); assert.equal(tokens[1].regex.test('wÕrlð'), true); }); }); }); }); describe('#getScoreFunction()', function() { it('should acknowledge AND "conjunction" option', function() { var score, search, sifter = new Sifter([]); score = sifter.getScoreFunction('one two', {fields: ['a','b'], conjunction: 'and'}); assert.equal(score({a: 'one'}) > 0, false); assert.equal(score({a: 'one', b: 'two'}) > 0, true); assert.equal(score({a: 'one', b: 'one'}) > 0, false); assert.equal(score({a: 'one', b: 'three'}) > 0, false); assert.equal(score({a: 'three', b: 'three'}) > 0, false); }); it('should acknowledge OR "conjunction" option', function() { var score, search, sifter = new Sifter([]); score = sifter.getScoreFunction('one two', {fields: ['a','b'], conjunction: 'or'}); assert.equal(score({a: 'one'}) > 0, true); assert.equal(score({a: 'one', b: 'two'}) > 0, true); assert.equal(score({a: 'one', b: 'one'}) > 0, true); assert.equal(score({a: 'one', b: 'three'}) > 0, true); assert.equal(score({a: 'three', b: 'three'}) > 0, false); }); describe('with query and options', function() { it('should return a function that returns a number', function() { var score, search, sifter = new Sifter([]); score = sifter.getScoreFunction('test', {fields: ['a','b']}); assert.equal(typeof score({a: 'test'}), 'number'); assert.equal(score({a: 'test'}) > 0, true); assert.equal(typeof score({}), 'number'); }); }); describe('with pre-prepared search', function() { it('should return a function that returns a number', function() { var score, search, sifter = new Sifter([]); search = sifter.prepareSearch('test', {fields: ['a','b']}); score = sifter.getScoreFunction(search); assert.equal(typeof score({a: 'test'}), 'number'); assert.equal(score({a: 'test'}) > 0, true); assert.equal(typeof score({}), 'number'); }); }); }); describe('#prepareSearch()', function() { it('should normalize options', function() { var sifter = new Sifter([{field: 'a'}, {}]); var search = sifter.prepareSearch('a', { fields: {field: 'a'}, sort: {field: 'a'}, sort_empty: {field: 'a'} }); assert.equal(Array.isArray(search.options.fields), true); assert.equal(Array.isArray(search.options.sort), true); assert.equal(Array.isArray(search.options.sort_empty), true); }); describe('returned object', function() { var sifter = new Sifter([{field: 'a'}, {}]); var search = sifter.prepareSearch('hello world'); it('should contain "total" (int)', function() { assert.equal(search.total, 0); }); it('should contain "tokens" (array)', function() { assert.equal(Array.isArray(search.tokens), true); assert.equal(search.tokens.length, 2); }); it('should contain "items" (array)', function() { assert.equal(Array.isArray(search.items), true); assert.equal(search.items.length, 0); }); it('should contain "options" (array)', function() { assert.equal(search.options !== null, true); assert.equal(typeof search.options, 'object'); assert.equal(Array.isArray(search.options), false); }); }); }); describe('#search()', function() { it('should not throw if an element does not contain search field', function() { assert.doesNotThrow(function() { var sifter = new Sifter([{field: 'a'}, {}]); var result = sifter.search('hello', {fields: ['field']}); }); }); it('should allow "fields" option to be a string', function() { var sifter = new Sifter([{field: 'a'}, {}]); var result = sifter.search('a', {fields: 'field'}); assert.equal(result.items[0].id, 0); }); it('should allow to search nested fields', function() { var sifter = new Sifter([ {fields: {nested: 'aaa'}}, {fields: {nested: 'add'}}, {fields: {nested: 'abb'}} ]); var result = sifter.search('aaa', { fields: 'fields.nested', nesting: true }); assert.equal(result.items.length, 1); assert.equal(result.items[0].id, 0); }); describe('sorting', function() { it('should respect "sort_empty" option when query absent', function() { var sifter = new Sifter([ {field: 'aaa'}, {field: 'add'}, {field: 'abb'} ]); var result = sifter.search('', { fields: 'field', sort: {field: 'field', direction: 'asc'}, sort_empty: {field: 'field', direction: 'desc'} }); assert.equal(result.items[0].id, 1); assert.equal(result.items[1].id, 2); assert.equal(result.items[2].id, 0); }); it('should work with one field (as object)', function() { var sifter = new Sifter([ {field: 'aaa'}, {field: 'add'}, {field: 'abb'} ]); var result = sifter.search('', { fields: 'field', sort: {field: 'field'} }); assert.equal(result.items[0].id, 0); assert.equal(result.items[1].id, 2); assert.equal(result.items[2].id, 1); }); it('should work with one field (as array)', function() { var sifter = new Sifter([ {field: 'aaa'}, {field: 'add'}, {field: 'abb'} ]); var result = sifter.search('', { fields: 'field', sort: [{field: 'field'}] }); assert.equal(result.items[0].id, 0); assert.equal(result.items[1].id, 2); assert.equal(result.items[2].id, 1); }); it('should work with multiple fields and respect priority', function() { var sifter = new Sifter([ {a: 'bbb', b: 'bbb'}, {a: 'bbb', b: 'ccc'}, {a: 'bbb', b: 'aaa'}, {a: 'aaa'} ]); var result = sifter.search('', { fields: 'field', sort: [ {field: 'a'}, {field: 'b'} ] }); assert.equal(result.items[0].id, 3); assert.equal(result.items[1].id, 2); assert.equal(result.items[2].id, 0); assert.equal(result.items[3].id, 1); }); it('should respect numeric fields', function() { var sifter = new Sifter([ {field: 1.0}, {field: 12.9}, {field: 9.1}, {field: -9.0} ]); var result = sifter.search('', { fields: 'field', sort: [{field: 'field'}] }); assert.equal(result.items[0].id, 3); assert.equal(result.items[1].id, 0); assert.equal(result.items[2].id, 2); assert.equal(result.items[3].id, 1); }); it('should respect sort direction', function() { var sifter = new Sifter([ {a: 'bbb', b: 'rrr'}, {a: 'bbb', b: 'aaa'}, {a: 'aaa', b: 'rrr'}, {a: 'aaa', b: 'aaa'} ]); var result = sifter.search('', { fields: 'field', sort: [ {field: 'b', direction: 'desc'}, {field: 'a', direction: 'asc'} ] }); assert.equal(result.items[0].id, 2); assert.equal(result.items[1].id, 0); assert.equal(result.items[2].id, 3); assert.equal(result.items[3].id, 1); }); it('should add implicit "$score" field when query present', function() { var sifter = new Sifter([ {field: 'yoo'}, {field: 'book'} ]); var result = sifter.search('oo', { fields: 'field', sort: [{field: 'field'}] }); assert.equal(result.items[0].id, 0); assert.equal(result.items[1].id, 1); }); it('should not add implicit "$score" field if explicitly given', function() { var sifter = new Sifter([ {field: 'boooo'}, {field: 'yoo'}, {field: 'aaa'} ]); var result = sifter.search('oo', { filter: false, fields: 'field', sort: [{field: 'field'}, {field: '$score'}] }); assert.equal(result.items[0].id, 2); assert.equal(result.items[1].id, 0); assert.equal(result.items[2].id, 1); }); it('should be locale-aware', function() { var sifter = new Sifter([ {field: 'Zoom Test'}, {field: 'Água Test'} ]); var result = sifter.search('', { fields: 'field', sort: [{field: 'field', direction: 'asc'}] }); assert.equal(result.items[0].id, 1); assert.equal(result.items[1].id, 0); }); it('should work with nested fields', function() { var sifter = new Sifter([ {fields: {nested: 'aaa'}}, {fields: {nested: 'add'}}, {fields: {nested: 'abb'}} ]); var result = sifter.search('', { fields: [], sort: {field: 'fields.nested'}, nesting: true }); assert.equal(result.items[0].id, 0); assert.equal(result.items[1].id, 2); assert.equal(result.items[2].id, 1); }); }); describe('returned results', function() { var sifter, options, result, result_empty, result_all; before(function() { sifter = new Sifter([ {title: 'Matterhorn', location: 'Switzerland', continent: 'Europe'}, {title: 'Eiger', location: 'Switzerland', continent: 'Europe'}, {title: 'Everest', location: 'Nepal', continent: 'Asia'}, {title: 'Gannett', location: 'Wyoming', continent: 'North America'}, {title: 'Denali', location: 'Alaska', continent: 'North America'} ]); options = {limit: 1, fields: ['title', 'location', 'continent']}; result = sifter.search('switzerland europe', options); result_empty = sifter.search('awawfawfawf', options); result_all = sifter.search('', { fields: ['title', 'location', 'continent'], sort: [{field: 'title'}] }); }); it('should not vary when using an array vs a hash as a data source', function() { var sifter_hash = new Sifter({ 'a': {title: 'Matterhorn', location: 'Switzerland', continent: 'Europe'}, 'b': {title: 'Eiger', location: 'Switzerland', continent: 'Europe'}, 'c': {title: 'Everest', location: 'Nepal', continent: 'Asia'}, 'd': {title: 'Gannett', location: 'Wyoming', continent: 'North America'}, 'e': {title: 'Denali', location: 'Alaska', continent: 'North America'} }); var result_hash = sifter.search('switzerland europe', options); assert.deepEqual(result_hash, result); }); describe('"items" array', function() { it('should be an array', function() { assert.equal(Array.isArray(result.items), true); assert.equal(Array.isArray(result_empty.items), true); assert.equal(Array.isArray(result_all.items), true); }); it('should include entire set if no query provided', function() { assert.equal(result_all.items.length, 5); }); it('should not have a length that exceeds "limit" option', function() { assert.equal(result.items.length > options.limit, false); }); it('should not contain any items with a score not equal to 1 (without query)', function() { for (var i = 0, n = result_all.items.length; i < n; i++) { assert.equal(result_all.items[i].score, 1); } }); it('should not contain any items with a score of zero (with query)', function() { for (var i = 0, n = result.items.length; i < n; i++) { assert.notEqual(result.items[i].score, 0); } }); it('should be empty when no results match', function() { assert.equal(result_empty.items.length , 0); }); describe('elements', function() { it('should be objects', function() { assert.equal(typeof result.items[0], 'object'); assert.equal(Array.isArray(result.items[0]), false); }); describe('"score" property', function() { it('should exist', function() { assert.notEqual(typeof result.items[0].score, 'undefined'); assert.notEqual(typeof result_all.items[0].score, 'undefined'); }); it('should be a number', function() { assert.equal(typeof result.items[0].score, 'number'); assert.equal(typeof result_all.items[0].score, 'number'); }); }); describe('"id" property', function() { it('should exist', function() { assert.notEqual(typeof result.items[0].id, 'undefined'); assert.notEqual(typeof result_all.items[0].id, 'undefined'); }); }); }); }); describe('"options"', function() { it('should not be a reference to original options', function() { assert.equal(result.options === options, false); }); it('should match original search options', function() { assert.deepEqual(result.options, options); }); }); describe('"tokens"', function() { it('should be an array', function() { assert.equal(Array.isArray(result.tokens), true); }); describe('elements', function() { it('should be a object', function() { assert.equal(typeof result.tokens[0], 'object'); assert.equal(Array.isArray(result.tokens[0]), false); }); describe('"string" property', function() { it('should exist', function() { assert.notEqual(typeof result.tokens[0].string, 'undefined'); }); it('should be a string', function() { assert.equal(typeof result.tokens[0].string, 'string'); }); it('should be valid', function() { assert.equal(result.tokens[0].string, 'switzerland'); assert.equal(result.tokens[1].string, 'europe'); }); }); describe('"regex" property', function() { it('should exist', function() { assert.notEqual(typeof result.tokens[0].regex, 'undefined'); }); it('should be a RegExp object', function() { assert.equal(result.tokens[0].regex instanceof RegExp, true); }); }); }); }); describe('"query"', function() { it('should match original query', function() { assert.equal(result.query, 'switzerland europe'); }); }); describe('"total"', function() { it('should be an integer', function() { assert.equal(typeof result.total, 'number'); assert.equal(Math.floor(result.total), Math.ceil(result.total)); }); it('should be valid', function() { assert.equal(result.total, 2); assert.equal(result_empty.total, 0); }); }); }); }); });