2004 ATP Buenos Aires – Singles
Carlos Moyá was the defending champion but lost in the final 6–4, 6–1 against Guillermo Coria.
Singles | |
---|---|
2004 ATP Buenos Aires | |
Champion | |
Runner-up | |
Final score | 6–4, 6–1 |
Draw | 32 |
Seeds | 8 |
Seeds
Guillermo Coria (Champion) Carlos Moyá (Final) Nicolás Massú (Quarterfinals) Gustavo Kuerten (First Round) Agustín Calleri (Second Round) Mariano Zabaleta (Quarterfinals) Gastón Gaudio (First Round) Juan Ignacio Chela (Second Round)
Draw
Key
- Q = Qualifier
- WC = Wild Card
- LL = Lucky Loser
- Alt = Alternate
- SE = Special Exempt
- PR = Protected Ranking
- ITF = ITF entry
- JE = Junior Exempt
- w/o = Walkover
- r = Retired
- d = Defaulted
Finals
Semifinals | Final | ||||||||||||
1 | 77 | 6 | |||||||||||
61 | 1 | ||||||||||||
1 | 6 | 6 | |||||||||||
2 | 4 | 1 | |||||||||||
63 | 5 | ||||||||||||
2 | 77 | 7 | |||||||||||
Top Half
First Round | Second Round | Quarterfinals | Semifinals | ||||||||||||||||||||||||
1 | 6 | 6 | |||||||||||||||||||||||||
1 | 2 | 1 | 6 | 4 | 6 | ||||||||||||||||||||||
WC | 6 | 6 | WC | 3 | 6 | 1 | |||||||||||||||||||||
Q | 0 | 1 | 1 | 710 | 3 | 6 | |||||||||||||||||||||
62 | 1 | WC | 68 | 6 | 1 | ||||||||||||||||||||||
WC | 77 | 6 | WC | 77 | 6 | ||||||||||||||||||||||
Q | 5 | 0 | 8 | 64 | 3 | ||||||||||||||||||||||
8 | 7 | 6 | 1 | 77 | 6 | ||||||||||||||||||||||
3 | 6 | 6 | 61 | 1 | |||||||||||||||||||||||
1 | 3 | 3 | 6 | 6 | |||||||||||||||||||||||
WC | 3 | 6 | 2 | 2 | 4 | ||||||||||||||||||||||
6 | 4 | 6 | 3 | 3 | 6 | 5 | |||||||||||||||||||||
2 | 7 | 6 | 6 | 4 | 7 | ||||||||||||||||||||||
6 | 5 | 1 | 7 | 6 | |||||||||||||||||||||||
4 | 2 | 5 | 5 | 2 | |||||||||||||||||||||||
5 | 6 | 6 |
Bottom Half
First Round | Second Round | Quarterfinals | Semifinals | ||||||||||||||||||||||||
7 | 3 | 66 | |||||||||||||||||||||||||
6 | 78 | 3 | 711 | 6 | |||||||||||||||||||||||
Q | 6 | 6 | Q | 6 | 69 | 4 | |||||||||||||||||||||
4 | 3 | 7 | 77 | ||||||||||||||||||||||||
6 | 6 | 5 | 65 | ||||||||||||||||||||||||
4 | 2 | 61 | 6 | 2 | |||||||||||||||||||||||
6 | 7 | 77 | 3 | 6 | |||||||||||||||||||||||
4 | 3 | 5 | 63 | 5 | |||||||||||||||||||||||
6 | 6 | 6 | 2 | 77 | 7 | ||||||||||||||||||||||
4 | 4 | 6 | 6 | 6 | |||||||||||||||||||||||
Q | 1 | 6 | 4 | 1 | 4 | ||||||||||||||||||||||
6 | 4 | 6 | 6 | 6 | 64 | 4 | |||||||||||||||||||||
6 | 0 | 1 | 2 | 4 | 77 | 6 | |||||||||||||||||||||
3 | 6 | 6 | 65 | 6 | 65 | ||||||||||||||||||||||
2 | 4 | 2 | 77 | 1 | 77 | ||||||||||||||||||||||
2 | 6 | 6 |
gollark: "Xylostephones" is more accurate
gollark: Nope, not keywords.
gollark: <@337621533369303042> Was it you who wanted this?
gollark: Takes ages to load words, I'm afraid.
gollark: ```pythonimport thesaurusimport randomimport concurrent.futures as futureswords_to_synonyms = {}synonyms_to_words = {}def add_to_key(d, k, v): d[k] = d.get(k, set()).union(set(v))def add_synonyms(syns, word): for syn in syns: add_to_key(synonyms_to_words, syn, [word]) add_to_key(words_to_synonyms, word, syns)def concat(list_of_lists): return sum(list_of_lists, [])def fetch_word(word): results = concat(thesaurus.Word(word).synonyms("all")) return resultsdef add_words(words): with futures.ThreadPoolExecutor(max_workers=50) as executor: word_futures = {executor.submit(fetch_word, word): word for word in words} for future in futures.as_completed(word_futures): word = word_futures[future] try: data = future.result() except Exception as exc: print(f"Error fetching {word}: {exc}") else: add_synonyms(data, word)def getattr_hook(obj, key): results = list(synonyms_to_words.get(key, set()).union(words_to_synonyms.get(key, set()))) if len(results) > 0: return obj.__getattribute__(random.choice(results)) else: raise AttributeError(f"Attribute {key} not found.")def wrap(obj): add_words(dir(obj)) obj.__getattr__ = lambda key: getattr_hook(obj, key)wrap(__builtins__)__builtins__.engrave("Hi!")```
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.