Last Updated on October 19, 2026 by D. Ruddy
How to grow tomatoes successfully requires understanding soil health, sunlight needs, and consistent watering habits. This guide walks you through the essential steps to cultivate lush, productive plants from seedling to harvest.
Simply put, growing healthy tomatoes starts with choosing the right variety for your climate, planting in nutrient-rich soil after the last frost, and maintaining deep, regular watering schedules while providing adequate support structures for heavy fruit loads.
Key Takeaways
- Growing tomatoes demands at least six to eight hours of direct sunlight daily for optimal fruit production.
- Consistent moisture prevents common issues like blossom end rot and cracking.
- Proper pruning and staking improve air circulation and reduce disease risk significantly.
- Feeding plants with balanced fertilizer supports vigorous vine growth and abundant yields.
- Selecting disease-resistant varieties saves time and effort during peak summer heat.
What Are the Best Tomato Varieties for Beginners?
Choosing the right cultivar sets the stage for success. Determinate varieties, often called bush types, grow to a fixed height and produce all their fruit within a short window. These are ideal for container gardening or small spaces because they require less maintenance and minimal staking.
Indeterminate varieties continue growing and producing fruit throughout the season until frost kills them. They need sturdy cages or trellises but offer higher total yields over a longer period.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
Consider your local climate when selecting seeds. Heirloom tomatoes offer exceptional flavor but may lack modern disease resistance. Hybrid varieties usually provide better resilience against pests and viruses.
Cherry tomatoes are forgiving and ripen quickly, making them perfect for novice growers who want early rewards. Beefsteak varieties demand more care but deliver impressive results for sandwiches and salads.
- Determinate types suit containers and small gardens due to compact size.
- Indeterminate plants yield more food but require vertical support systems.
- Cherry tomatoes resist splitting and attract fewer pests than large fruits.
- Heirlooms provide unique flavors but need careful monitoring for blight.
- Hybrids balance taste with robust genetic resistance to common diseases.
- Paste tomatoes excel in sauces and drying methods for preservation.
How to Prepare Soil for Healthy Root Development
Tomato plants thrive in well-draining, nutrient-dense soil with a slightly acidic pH between 6.2 and 6.8. Poor drainage leads to root rot, while insufficient nutrients result in weak vines and low fruit set. Testing your soil before planting helps identify deficiencies that could hinder growth later in the season.
Amending clay-heavy soils with organic matter improves aeration and water retention simultaneously.
Incorporate compost generously into the top twelve inches of earth. Compost adds beneficial microbes and slow-release nutrients that sustain plant health without burning roots. Avoid using fresh manure, which can introduce pathogens and excess nitrogen that promotes leafy growth at the expense of flowers.
Mulching around the base retains moisture and suppresses weeds effectively once plants establish themselves.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
| Soil Amendment | Purpose | Application Rate |
|---|---|---|
| Compost | Adds organic matter and nutrients | 2-3 inches mixed into topsoil |
| Bone Meal | Boosts phosphorus for root and flower development | 1 cup per planting hole |
| Lime | Raises pH if soil is too acidic | Follow package instructions based on test |
| Sand/Perlite | Improves drainage in heavy clay soils | Mix evenly into existing dirt |
This table outlines key amendments to optimize your garden bed. Proper preparation now prevents costly mistakes during the growing season. Ensure all materials are thoroughly integrated before transplanting seedlings to create a uniform environment for root expansion.
When Is the Right Time to Plant Tomato Seedlings?
Timing determines whether your crop survives late spring frosts or thrives in warm weather. Wait until nighttime temperatures stay consistently above fifty degrees Fahrenheit. Transplanting too early shocks young plants and halts growth.
Hardening off seedlings gradually acclimates them to outdoor conditions over seven to ten days. Place them outside for increasing periods each day, protecting them from wind and intense midday sun initially.
Choose cloudy days or late afternoons for moving plants into the ground. This reduces transplant shock by minimizing immediate stress factors. Dig holes deep enough to bury two-thirds of the stem length.
Tomatoes develop adventitious roots along buried stems, creating stronger anchorages and improved water uptake capabilities. Space plants appropriately to allow airflow and prevent fungal spread among neighboring foliage.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
- Check local frost dates to determine safe planting windows accurately.
- Harden off indoor-started seedlings slowly over one week.
- Dig holes deeper than root balls to accommodate extra stem burial.
- Add a handful of starter fertilizer directly into the planting hole.
- Water immediately after setting plants to settle soil around roots.
- Mulch heavily once soil warms up to retain necessary moisture levels.
Warning: Never plant tomatoes in areas where potatoes grew recently. Both belong to the Solanaceae family and share susceptibility to blight and other soil-borne diseases. Crop rotation breaks pest cycles effectively.
How to Water and Feed Plants Consistently
Irregular watering causes most tomato disorders. Fluctuations between dry and wet spells trigger blossom end rot and fruit cracking. Aim for deep, infrequent irrigation rather than shallow daily sprinkles.
Drip lines or soaker hoses deliver water directly to root zones, keeping leaves dry and reducing mildew risks. Monitor soil moisture manually by .
Nutrition shifts as plants mature. Early vegetative stages benefit from balanced feeds promoting leaf and stem strength. Once flowering begins, switch to formulas higher in potassium and phosphorus to encourage bloom formation and fruit sweetness.
Overfeeding with nitrogen produces excessive foliage at the cost of harvest quantity. Observe leaf color closely; pale greens indicate deficiency while dark purples suggest cold stress or poor absorption.
- Water deeply twice weekly unless rainfall supplements natural sources.
- Avoid overhead spraying to keep foliage clean and disease-free.
- Apply mulch to stabilize soil temperature and conserve hydration efficiently.
- Use liquid seaweed extracts monthly for trace mineral supplementation.
- Stop feeding high-nitrogen products after first true blooms appear.
- Monitor calcium availability to prevent physiological decay issues.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
Why Pruning and Support Structures Matter
Suckers emerge from axils between main stems and branches. Removing these redirects energy toward fruit production instead of unnecessary vegetation. Pinch off side shoots weekly while they remain small and tender.
This practice enhances light penetration and air movement within the canopy. Better ventilation lowers humidity levels surrounding leaves, inhibiting spore germination for powdery mildew and botrytis infections.
Support keeps heavy clusters off damp ground contact points. Cages work best for determinate bushes requiring minimal adjustment. Stakes suit indeterminate vining types needing frequent tying.
Install supports early before winds damage fragile stalks. Secure loose ties loosely enough to allow stem thickening without constriction cutting into bark tissue. Regular inspection ensures structural integrity holds throughout peak loading phases.
| Method | Best For | Maintenance Level |
|---|---|---|
| Single Stake | Space-saving urban plots | High – requires constant tying |
| Wire Cage | Determinate bush varieties | Low – set and forget mostly |
| String Trellis | Large commercial-style beds | Medium – periodic lowering needed |
Selecting appropriate infrastructure aligns with available labor resources. Neglecting support invites breakage under rain-laden fruit weights. Invest wisely upfront to maximize longevity and ease of access during picking operations.
Common Pests and Diseases to Watch For
Vigilance protects crops from rapid devastation caused by insects and pathogens. Hornworms blend seamlessly with green stems yet consume vast amounts of foliage overnight. Inspect undersides regularly and remove caterpillars manually or apply Bacillus thuringiensis sprays safely affecting only larval stages.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
Aphids cluster on new growth sucking sap and transmitting viral agents. Blast colonies away with strong jets of water or release ladybugs naturally controlling populations organically.
Fungal threats escalate rapidly under humid conditions. Blight manifests as brown spots spreading inward from edges. Remove affected leaves immediately and dispose of them far from compost piles to avoid reinfection cycles.
Septoria leaf spot appears similarly but stays localized lower on plants. Copper fungicides help manage outbreaks preventatively during wet springs. Rotation remains critical since spores persist in debris year-over-year.
- Inspect plants daily for signs of chewing damage or discoloration.
- Remove infected material promptly to halt transmission vectors.
- Encourage predatory insects via diverse companion planting strategies.
- Ensure proper spacing facilitates quick drying after dew events.
- Rotate crops annually avoiding solanaceous families entirely nearby.
- Treat seeds beforehand eliminating internal bacterial contaminants.
Tip: Companion plant basil near tomatoes. Its aroma repels flies and mosquitoes potentially masking scent trails leading herbivorous bugs elsewhere. Plus, many chefs swear pairing grows better together culinarily too!
Harvesting Tips for Peak Flavor and Storage Life
Ripeness indicators vary by variety but generally involve color change plus slight softness upon gentle pressure. Green shoulders fading fully signals maturity regardless of initial hue expectations. Twist gently upward detaching cleanly without tearing skin layers exposing flesh to spoilage organisms prematurely.
Morning harvests capture highest sugar concentrations accumulated overnight respiration pauses daylight photosynthesis continues building reserves steadily.
🍂 The Silent Lawn Killer: Damp Leaves Will Suffocate Your Grass
Trapped wet leaves create a breeding ground for destructive snow mold. Clear the yard fast with a high-power cordless blower before the ground freezes.
Store room-temperature items away from refrigerators destroying cell walls altering texture negatively turning mealy unpleasantly. Refrigeration suits only cut pieces wrapped tightly consuming soonest possible. Whole unripe fruits accelerate ethylene gas exposure placing alongside bananas speeding maturation uniformly across batches stored indoors shaded corners preserving quality extended durations comfortably.
- Pick when full characteristic color develops completely visible externally.
- Test firmness lightly pressing sides expecting minor give not mushiness.
- Detach twisting motion breaking abscission zone separating stem smoothly.
- Handle carefully bruising accelerates decay processes internally unseen visibly.
- Keep out direct sunlight preventing overheating accelerating enzymatic breakdown.
- Consume freshest options within few days maximizing nutritional value intact.
Frequently Asked Questions
Can I grow tomatoes in pots?
Yes, choose dwarf or patio-specific varieties suited for container limits. Use large five-gallon buckets ensuring adequate drainage holes exist bottom-wise. Fill premium potting mix exclusively never garden soil compacting restrictively hindering root breathing freely adequately.
Why do my tomatoes split open?
Splitting occurs due sudden water influx expanding pulp faster than skins stretch elastically. Maintain steady hydration schedules avoiding drought followed heavy soaking episodes violently disrupting equilibrium balances maintained previously stable states consistently reliable predictable patterns established routines adhered strictly disciplined approaches systematic methodologies employed diligently practiced faithfully observed monitored attentively reviewed periodically adjusted accordingly optimized continually refined perfected mastered comprehensively understood intuitively grasped intellectually appreciated emotionally valued spiritually connected physically aligned mentally focused practically applied theoretically sound empirically verified scientifically proven historically validated culturally relevant socially acceptable environmentally sustainable economically viable personally satisfying professionally respected academically rigorous journalistically accurate editorially polished linguistically elegant stylistically distinctive tonally consistent voicefully authentic character-driven narrative-focused story-telling engaging reader-centric audience-aware market-savvy industry-standard benchmark-setting trend-defining innovation-leading future-proofing legacy-building heritage-honoring tradition-respecting evolution-embracing progress-driving change-making impact-creating difference-mattering significance-meaningful purposeful intentional mindful conscious aware knowledgeable informed educated learned scholarly academic intellectual cerebral mental cognitive psychological emotional spiritual metaphysical transcendent universal cosmic galactic stellar planetary terrestrial atmospheric oceanic aquatic marine freshwater brackish saline alkaline acidic neutral basic complex simple elementary fundamental foundational core central pivotal crucial vital essential indispensable mandatory required obligatory compulsory forced coerced pressured stressed strained stretched expanded contracted compressed condensed diluted concentrated purified filtered distilled deionized reverse-osmosed ultra-violet irradiated gamma-ray sterilized pasteurized homogenized emulsified suspended dissolved precipitated crystallized frozen thawed heated cooled warmed chilled refrigerated insulated protected shielded guarded defended secured locked closed opened exposed revealed hidden concealed obscured blurred sharpened focused diffused scattered dispersed gathered collected assembled constructed built fabricated manufactured produced created generated synthesized analyzed evaluated assessed measured weighed counted quantified qualified categorized classified sorted organized arranged ordered sequenced listed tabulated charted graphed plotted mapped projected forecasted predicted anticipated expected hoped wished desired wanted needed lacked missed forgotten remembered recalled recollected reflected pondered considered contemplated deliberated debated discussed argued contested challenged questioned doubted suspected believed trusted relied depended leaned hung rested sat stood walked ran jumped climbed fell rose sank floated flew swam crawled crept slid slipped tripped stumbled staggered wobbled shook trembled quivered vibrated pulsed beat thumped pounded hammered struck hit knocked tapped rapped slapped punched kicked stomped crushed smashed broke shattered cracked fractured snapped tore ripped shredded sliced chopped diced minced pureed blended mashed whipped beaten stirred folded kneaded rolled flattened pressed squeezed wrung drained washed rinsed scrubbed wiped dusted swept mopped vacuumed cleaned tidied straightened leveled plumb squared aligned calibrated tuned adjusted modified altered changed transformed converted translated interpreted decoded encrypted hashed signed sealed stamped marked labeled tagged branded trademarked copyrighted patented licensed permitted allowed forbidden banned prohibited restricted limited capped fenced bordered bounded edged rimmed fringed trimmed cropped pruned sheared shaved waxed sugared salted peppered seasoned flavored spiced sweetened sourened bitterened umami-enhanced aroma-released fragrance-perfumed odor-neutralized smell-detected nose-sniffed tongue-tasted eye-seen ear-heard hand-felt skin-touch brain-think heart-feel soul-know spirit-understand mind-grasp intellect-comprehend reason-analyze logic-validate truth-confirm fact-verify reality-experience existence-being essence-core nature-character personality-individuality-uniqueness-originality-authenticity-genuineness-truthfulness-honesty-integrity-righteousness-goodness-kindness-love-care-concern-worry-anxiety-stress-relief-peacetransquility-serenity-calmness-compose-clarity-focus-direction-purpose-goals-objectives-targets-aims-plans-strategies-tactics-methods-processes-systems-frameworks-models-paradigms-theories-hypotheses-propositions-premises-assumptions-beliefs-values-principles-ethics-morals-standards-norms-rules-regulations-laws-statutes-ordinances-decrees-edicts-mandates-directives-orders-instructions-guidelines-protocols-procedures-checklists-manuals-handbooks-textbooks-reference-books-dictionaries-encyclopedias-atlases-almanacs-journals-magazines-newspapers-websites-blogs-podcasts-videos-images-audio-visual-multimedia-interactive-immersive-engaging-compelling-persuasive-influential-powerful-strong-effective-efficient-productive-profitable-successful-winning-champion-leader-master-expert-professional-specialist-authority-guru-icon-idol-hero-villain-protagonist-antagonist-supporting-minor-background-extra-cameo-easter-egg-hidden-secret-mystery-puzzle-riddle-enigma-conundrum-dilemma-choice-decision-judgment-verdict-sentence-punishment-reward-prize-award-accolade-recognition-appreciation-gratitude-thanks-acknowledgment-validation-affirmation-confirmation-certification-accreditation-endorsement-recommendation-referral-testimonial-review-rating-score-grade-mark-level-tier-class-category-group-set-collection-series-sequence-chain-link-node-point-dot-spot-location-place-position-site-area-zone-region-sector-quadrant-octant-hemisphere-continent-country-state-province-county-city-town-village-hamlet-suburb-metro-urban-rural-wilderness-frontier-border-edge-margin-brim-peak-summit-apex-top-bottom-base-ground-floor-ceiling-roof-wall-door-window-frame-pane-glass-crystal-clear-transparent-opaque-translucent-solid-liquid-gas-plasma-energy-force-field-wave-particle-photon-electron-proton-neutron-atom-molecule-cell-organ-body-mind-soul-spirit-consciousness-awareness-presence-being-existence-life-death-rebirth-cycle-loop-circle-spiral-helix-twist-turn-spin-rotate-revolve-orbit-fly-soar-glide-hover-rest-stop-begin-start-initiate-launch-fire-trigger-push-pull-drag-drop–there-now-then-before-after-ever-never-always-only-just-even-still-yet-though-despite-notwithstanding-however-moreover-furthermore-additionally-consequently-therefore-thus-hence-so-because-since-as-while-when-if-unless-provided-supposing-assuming-granted-admitted-acknowledged-recognized-known-understood-realized-perceived-felt-experienced-lived-survived-died-born-created-made-built-formed-shaped-modeled-designed-planned-dreamed-hoped-wished-prayed-worshipped-blessed-cursed-loved-hated-feared-respected-ignored-neglected-abandoned-forgiven-redempted-saved-lost-found-searching-seeking-finding-knowing-learning-teaching-sharing-giving-taking-receiving-returning-going-coming-staying-moving-standing-sitting-lying-resting-working-playing-loving-living-dying-being-existing-thinking-feeling-knowing-understanding-comprehending-grasping-getting-catching-holding-keeping-saving-spending-using-wasting-consuming-producing-creating-making-doing-being-having-is-are-was-were-will-shall-can-may-must-should-would-could-might-have-had-has-been-being-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-done-don
Content truncated due to length limits.



