Commit Graph

857 Commits (afef5ba0f459a07c4eedcc8665becb1952a2f63f)

Author SHA1 Message Date
Mark McDowall b2a042bd30 Another Plex test, slight name change for some.
13 years ago
Mark McDowall 219ea364a9 More unit tests for Plex notifications.
13 years ago
Mark McDowall 6e767eafab New: Added Plex to Notifications, allowing notifications and library updates.
13 years ago
Mark McDowall aac42d4882 More Season ignore work. Already ignored seasons will be ignored.
13 years ago
Mark McDowall 969f8ae5e2 SeasonProvider Added to handle ignoring of Seasons.
13 years ago
kay.one 9d126e54c9 New: Added support for limited retention. Reports older than the configured retention are skipped.
13 years ago
kay.one ac84d76ef9 New: When searching for episodes, newer reports are given priority over older reports of equal quality.
13 years ago
Mark McDowall 64ca52667b Added unit tests.
13 years ago
Mark McDowall 59516c240f Fix for episodes with "Part" in the Episode Title being picked up as mini-series releases.
13 years ago
kay.one 5c03c873b2 updated analytics
13 years ago
Mark McDowall 2deb6822b0 Updated Nuget packages.
13 years ago
kay.one 83aa6330d1 Minor cleanups.
13 years ago
Mark McDowall 1abeef7239 Fix: Episode naming for files with multiple episodes.
13 years ago
kay.one 659b3dee55 Improved: Upcoming episodes page no longer shows series that aren't monitored.
13 years ago
kay.one 6df184b7cb New: All setting values are cached for better responsiveness.
13 years ago
Mark McDowall 308fd11c83 Fix: Series Titles with apostrophes when searched on NzbMatrix will now return valid results.
13 years ago
Mark McDowall 3f02a1f347 Fixed last broken parsing test.
13 years ago
Mark McDowall b751bbc4ce Fixed broken unit tests from parsing logging changes.
13 years ago
kay.one 5ecbdd3e64 Package cleanup
13 years ago
kay.one 5717b7f596 New: Rewrite of download decision engine.
13 years ago
kay.one 174f765ec9 New: NzbDrone service to automatically report errors and episode parse issues.
13 years ago
kay.one 9fcb3a4573 Improved: Episodes that are in the future AND have no title will not be added to db (place holder episodes in TVDB)
13 years ago
kay.one 02a3b38210 Added service integration tests.
13 years ago
kay.one 65417bd8ec Fixed: Multipart episodes are now added to sab queue using single episode title only.
13 years ago
kay.one 44d6d20bd6 Deskmetrics will not report any data unless using the master branch.
13 years ago
Mark McDowall a96ff2519a New: Blackhole implemented, allowing clients other than SABnzbd to be used.
13 years ago
kay.one 2009693787 Fix: Indexers that are enabled but aren't configured correctly will be skipped during rss/search
13 years ago
Mark McDowall e0170a08e4 More REGEX work, cleaned up some extraneous bits and made them more accurate.
13 years ago
kay.one fb0b487e6d Added broken parser test.
13 years ago
kay.one feb4ef969e Fixed: Issue where daily episodes/full season releases would break sab queue check.
13 years ago
Mark McDowall 1f983094ac Fix: Resolved a parsing issue when timeleft for an SabQueueItem was greater than 24 hours.
13 years ago
kay.one 68e1a0bc4d Fixed: Fixed issue where an unknown episode/item in the queue would crash CheckQueue.
13 years ago
kay.one 14ed804025 Fixed broken reference.
13 years ago
Mark McDowall 93ee97123f System/Backup will backup Config.xml and NzbDrone.sdf to a zip file for the client to download.
13 years ago
kay.one 340f05aef4 Fixed broken tests, DeskMetrics now has a different id during dev and production.
13 years ago
kay.one b225db9aaf Started to add support for deskmetrics
13 years ago
Mark McDowall 02cb12bdb8 BacklogSetting refactoring.
13 years ago
Mark McDowall 9eb022fdf4 BacklogStatus added to individually control which series are included in backlog searches. Applies to Backlog and RecentBacklog jobs. Editable in Series/MassEdit and Series Edit.
13 years ago
Mark McDowall fb17765d3a Fixed issues with searching and the results being filtered before the SearchProvider could properly handle them.
13 years ago
Mark McDowall 8267be0a48 Added another test for IsUpgrade.
13 years ago
Mark McDowall 197979ea3c QualityParseTest will accept bool IsProper as a parameter.
13 years ago
kay.one d6d1bbe3f5 Tweaked Progress notification.
13 years ago
kay.one 7071cf829a Updated diskprovider to use GetFiles instead of EnumerateFiles to prevent a screwed up issue.
13 years ago
kay.one ead5f37921 Directory write time is now calculated based on the most recent file write to any file inside of that directory.
13 years ago
kay.one a68c882032 fixed http 500 error.
13 years ago
kay.one 54881a0e4a fixed http 500 error.
13 years ago
kay.one 63bef2de31 Fixed more queue issue.
13 years ago
Mark McDowall baa0b8df67 Series Grid won't show series that haven't been completely added (LastInfoSync is null).
13 years ago
kay.one 0d582f12fb Fixed 503 Http errors not marking the test as ignored.
13 years ago
kay.one 01775d70b3 Fixed broken test.
13 years ago
kay.one d1e3298da1 Enabled rolling file logging.
13 years ago
kay.one 5e3e071692 Added a duplicated item to Queue.txt, reformated existing json sample files.
13 years ago
Mark McDowall c0542449a4 Added additional logging to episode searching.
13 years ago
Mark McDowall d5e62bc70b Files will be tagged with Proper when append quality is enabled and episode is a proper.
13 years ago
Mark McDowall 3de5522444 SetUp must be Public... FYI.
13 years ago
Mark McDowall 7b14da9b17 Fixed GetQueue and GetHistory.
13 years ago
Mark McDowall e885fadc59 Added MassEdit for series editing.
13 years ago
kay.one 906b5d12cd Updated queue.txt json to match actual sab queue.
13 years ago
kay.one b498c242af Fixed QueueEmpty.txt json file.
13 years ago
kay.one b6d43273cf Fixed an issue where an unparsable item could break the parser.
13 years ago
kay.one 0276fa12f0 Fixed an issue where a none-paused empty queue would throw.
13 years ago
kay.one 78268f3c58 Better parser logging.
13 years ago
kay.one 9d90f04b6e Added Linq post filtering to indexer searches.
13 years ago
kay.one 7483d5d3a5 Added sab queue check for multiepisodes.
13 years ago
kay.one 9acfb7330c Check sab queue now takes quality into consideration
13 years ago
Mark McDowall 2d1f506f93 Fixed tests, results won't be as focused for nzbs.org.
13 years ago
kay.one d967d4198c Duplicated root folders are now blocked.
13 years ago
kay.one 7c6d745c86 You can no longer add root folders that don't already exist.
13 years ago
Mark McDowall b4eed1a657 SabProvider now gets JSON instead of XML for history and queue.
13 years ago
Mark McDowall 26c4240a6b SabProvider can now get the entire Queue for additional processing.
13 years ago
Mark McDowall 20c1639ada Added pre-search check for EpisodeSearch to see if an upgrade is possible, before attempting.
13 years ago
Mark McDowall d1262f1ced No longer checking history when doing a manual search.
13 years ago
Mark McDowall 5cea5282bd Improved the parser to properly handle files without titles, with tests.
13 years ago
kay.one 4da2e1cb72 Episode auto-ignore is now done in realtime rather than using a job.
13 years ago
kay.one 24d51093d6 Fixed issue where AppUpdateJob would throw when there are no updates available.
13 years ago
Mark McDowall 488be41fb1 Fixed broken tests after adding new job.
13 years ago
Mark McDowall 218059e08d Added the ability to auto-ignore episodes for files that are deleted, good for people that delete after watching. Option is not exposed in the UI and is disabled by default (obviously).
13 years ago
kay.one 8f4f863631 Turning off tagging folder for now, to stop messing people's series folders
13 years ago
kay.one e358ad6d87 Jobs now use Timespan rather than integer to represent minutes.
13 years ago
Mark McDowall 624b6e5acb Fixed broken tests.
13 years ago
Mark McDowall 3e9593ba3b SabProvider will use Series.Title instead of the series Path, it is first cleaned by MediaFileProvide.CleanName().
13 years ago
Mark McDowall 7ff53e5ac2 Season 1, Episode 0 will not be automatically ignored (usually a pilot), with test.
13 years ago
kay.one e8e0e8e5dc Adding series with a ID of 0 is now blocked.
13 years ago
Mark McDowall ad4afbcb6d DailySeries now use the JSON API instead of the CSV file.
13 years ago
Mark McDowall afb8305c00 SceneMapping will use the JSON API instead of CSV file now.
13 years ago
Mark McDowall 42554b815a Fixed broken tests.
13 years ago
Mark McDowall 359f6ea012 Bug: Fixed years being picked up as 4-digit season/episode combo when using the folder name only. a year wrapped with brackets '()' or '[]' will be treated as a year.
13 years ago
Mark McDowall b52585d62a XbmcProvider will use the HTTP API when updating the library for Eden clients (EventServer was failing).
13 years ago
kay.one 7ec89056af Auto adding of episodes is now disabled. (we should make it more conservative if we want to bring it back)
13 years ago
Mark McDowall 3dce784672 XbmcProvider uses Json.net for reading/writing JSON.
13 years ago
Mark McDowall e958a019ed Updated parser to skip longer than expected numbers from being parsed.
13 years ago
Mark McDowall 2cc066ccf2 GetActivePlayers will now work with Eden and Dharma.
13 years ago
Mark McDowall 86c5e73f81 DailySeries.CSV now has series name along with series Id.
13 years ago
Mark McDowall 69ddeeb0e3 Fixed spelling for Expected[LogType].
13 years ago
Mark McDowall 77bf257132 GetEpisodesByParseResult will log a warning when an episode is daily, but series isn't.
13 years ago
Mark McDowall 6bd8de000a Added another test for mini-series parsing, fixed parsing.
13 years ago
Mark McDowall 40dec07612 Fixed broken tests.
13 years ago
Mark McDowall 3f32ad1bf2 Parser now supports mini-series (treats them as season 1).
13 years ago
kay.one ed566e6e9a TestDbHelper cleanup
13 years ago
kay.one 1b45a85f3f All tests now use base class Mocker
13 years ago
kay.one a7a7c4ab49 Fixed job provider existing job update bug.
13 years ago
Mark McDowall 1c99541731 Do not rename episodeFiles if the source and destination are the same (file is already named correctly).
13 years ago
Mark McDowall f56bf62991 JobProvider.Initialize will now update existing jobs.
13 years ago
Mark McDowall 75cfb7e044 Season Search will only search for past episodes if it falls back to that.
13 years ago
kay.one 1dddf2ffde Added broken parser test
13 years ago
kay.one bfe4de7a08 Fixed some issue around path normalization.
13 years ago
kay.one e269494ff8 ParseSeriesName will now return normalized version of the title if it doesn't match any predefined
13 years ago
Mark McDowall b3d1b8c47e Added additional FullSeason parse test and another assertion.
13 years ago
Mark McDowall 0f5e7c4265 Using Mocker instead of mocker for SeriesProviderTest.
13 years ago
Mark McDowall 58abb6fbc2 SearchForSeries won't fail if an apostrophe is used in the search term (Let's PetaPoco handle building the query, as it should).
13 years ago
kay.one f84f8ac992 Fixed auto-complete styling.
13 years ago
Mark McDowall ac0371ff5c Fixed test per comments on last commit.
13 years ago
Mark McDowall ceec420035 Added test to verify EpisodeInfo would ignore new episodes for an ignored season (no bug here).
13 years ago
Mark McDowall 1498027192 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one ce8713d953 last fix for deleted job didn't work, this should fix it.
13 years ago
Mark McDowall 9a0fe35008 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall f3fbcec8cb GetEpisodesByParseResult will return multiple episode names when multiple episodes are found.
13 years ago
kay.one bb460163c2 Fixed job provider issue where deleted job classes would break scheduler.
13 years ago
Mark McDowall dba5a1a236 GetSabTitle will now handle daily episodes.
13 years ago
Mark McDowall 8de49bb112 Moved RenameSeriesJob to the Jobs folder.
13 years ago
Mark McDowall 4100274b2e Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 3b4b20cc95 SceneMappingProvider will perform an update if database is empty when looking for a SeriesId or SceneName.
13 years ago
kay.one fabc4c84bd Moved Jobs to their own folder.
13 years ago
Mark McDowall f9dab843ae Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one cc8c70d7f5 Fixed some bugs, cleaned up some code.
13 years ago
Mark McDowall 1b0cdf922e Removed un-needed call from Episode Search.
13 years ago
kay.one 5c091ccb80 Fixed broken tests.
13 years ago
Mark McDowall 6805a1041b InitializeJobs will use current DateTime to setup new jobs (Prevents jobs running immediately for new installs).
13 years ago
Mark McDowall 4ddd1a0f6f Using RealDb instead of Mocked DB.
13 years ago
Mark McDowall 21601a5805 Updated EpisodeProviderTest to use Mocker and Db.
13 years ago
Mark McDowall d82edba26c Fixed broken unit test for parsing future daily shows.
13 years ago
Mark McDowall fbc0a561ca Fixed a big where Season 0 wasn't being ignored for new seasons + a test to confirm it.
13 years ago
kay.one 30497357b4 Removed single search method in indexer base.
13 years ago
kay.one 8ee8ae79c0 TVDb exceptions are now ignored.
13 years ago
Mark McDowall 02f6af4750 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 726eccb0e8 Processing of Daily Episode searching now supported.
13 years ago
kay.one c1ea4c18c2 Updated WebActivator to 1.5
13 years ago
kay.one 60814fde7b Fixed a bug in SeriesSearchJob that would cause it to fail.
13 years ago
kay.one 313d0f6b8e Fixed broken tests
13 years ago
Mark McDowall cadccb4360 EpisodeSearch properly uses PerformSearch.
13 years ago
Mark McDowall e16f83c433 Added ReferenceDataProvider to provide lookups (and refreshing) of IsDaily - which will check if the series is a daily series.
13 years ago
kay.one 910efb5941 Some minor clean-up.
13 years ago
Mark McDowall 290e5d5897 Daily episodes that are added via RSS feed will have proper season and episode numbers.
13 years ago
Mark McDowall 8b841c633a Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 38790e9f9c GetEpisodesByParseResult will properly handle Daily episodes.
13 years ago
kay.one 03aa27c45c Parser now ignores daily episodes from the future.
13 years ago
kay.one d0d9c44124 Parser refactoring. Now tries to parse full path if file name didn't work.
13 years ago
Mark McDowall 2aaa23b11d Refreshing EpisodeInfo will now set new or existing episodes that have air times prior to 1900 to null.
13 years ago
Mark McDowall e781501021 Added RecentBacklogSearchJob to fill missing episodes from the last 30 days, runs nightly.
13 years ago
kay.one 9e37c894dd Added SqlServerCe EF to webproject
13 years ago
kay.one c6716f2425 Log page now uses EF for faster runtime queries.
13 years ago
kay.one a984060533 Merge branch 'markus' into kay.one
13 years ago
kay.one 35e47e1adc Updated twitterizer to 2.4.0.26532
13 years ago
Mark McDowall 519172dfab Fixed tests to ensure they have different numbers for expected count vs unexpected.
13 years ago
Mark McDowall b02c7066ad Trim added to LogProvider.
13 years ago
kay.one 3520b56bb6 Update logs are now in the UI
13 years ago
kay.one 54e5874770 Update client is now moved rather than copied.
13 years ago
kay.one 0a70c836df Cleaned up progress notification.
13 years ago
kay.one e56aca17e8 Ignoring WebExceptions in IndexerTests.
13 years ago
kay.one 508be34ebc Update fixes.
13 years ago
kay.one 6778a6ed99 Moved duplicated NormalizePath method to PathExtentions
13 years ago
Mark McDowall 5012144c13 Fixed 1101 and 101 naming incorrectly picking up 1080p and 720p.
13 years ago
kay.one c1b5f2ebb6 Merge branch 'markus' into kay.one
13 years ago
kay.one 5f2762d608 PerformSearchFixture refactoring
13 years ago
kay.one 4bd226f7c4 PerformSearchFixture refactoring
13 years ago
Mark McDowall 5522466497 Cleaned up units tests.
13 years ago
kay.one aa082520c2 Even more faster tests.
13 years ago
Mark McDowall b36dc4ab86 Refactored SearchProvider and corresponding unit tests.
13 years ago
Mark McDowall ee494486ec Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one 1233089ee4 Even more faster tests.
13 years ago
Mark McDowall be423663d7 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 30e21ecd16 Searching will be more picky now to ensure the proper series and season (and episode if relevant)
13 years ago
kay.one 04d40575da Cleaned up JobProviderFixture, should save ~20 seconds in build time.
13 years ago
Mark McDowall edfe2f1079 Fixed American Dad test when specials are counted in the NEW numbering system (1,3,4,6,7,21)
13 years ago
Mark McDowall 5ad11ba728 Fixed adding of Newznab provider.
13 years ago
Mark McDowall d5a602c4eb Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one fbf7d20c5d Fixed update client path issue
13 years ago
kay.one 6369d4f817 Update updates ;)
13 years ago
kay.one 88f4d15fa9 Added some update tests
13 years ago
kay.one 56a6e1372d Update client is now included in the build package
13 years ago
Mark McDowall 09d6c5bf84 Missed in last commit for fixing AutoMoq.
13 years ago
Mark McDowall fbc75b46fd Fixed AutoMoq for Newznab tests.
13 years ago
Mark McDowall 8c1f7e6663 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one 51518787d8 Lots of initialization, configuration clean up.
13 years ago
Mark McDowall a031fe9d98 Added config.xml to .gitignore.
13 years ago
kay.one 207550176c Removed assembly level fixtures
13 years ago
kay.one 72d0fc50ed Alot of refactoring.
13 years ago
kay.one 2e94e322f4 Path calculations are now done using extension methods.
13 years ago
kay.one 1270e464b3 More autoupdate code.
13 years ago
Mark McDowall f3f2691b4d Added ParentUriString to get the parent site URI from any URI.
13 years ago
Mark McDowall 95cdc4b78c Moved FreeDiskSpace to DiskProvider.
13 years ago
Mark McDowall bbd5cba272 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
kay.one ca7deedfb9 CentralDispatch is no longer static.
13 years ago
kay.one b43397752e Fixed broken tests
13 years ago
kay.one 07458529f6 JobProvider can reset itself.
13 years ago
kay.one 82b6ec5ed4 Some test cleanup
13 years ago
kay.one 633f0b6197 PathProvider. visit us for all of your pathing needs.
13 years ago
kay.one c503b497ed Merge branch 'markus' into kay.one
13 years ago
Mark McDowall 277b873b39 Added Prowl notifications.
13 years ago
Mark McDowall 1b8e359a63 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 3fe1e80ccb Added Growl (Not yet visible on the GUI).
13 years ago
kay.one 5aecd63d09 Update FluentAssertion to 1.6
13 years ago
kay.one 994ea7f090 Update FluentAssertion to 1.6
13 years ago
kay.one cd32a70179 Starting path clean up. (All paths should go through EnvironmentProvider)
13 years ago
Mark McDowall 6b26843b50 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 1134d925f4 Fixed REGEX for title parsing.
13 years ago
kay.one c1116d0faa Fixed bug where service where windows service couldn't be installed.
13 years ago
kay.one b3e4485d71 Post processor now deletes folders that are less than 40MB.
13 years ago
kay.one 3dd7b3d768 This should fix the bug where a folder was tried to be retagged with the same error.
13 years ago
kay.one 4ae268b8e5 lots of different things ;)
13 years ago
kay.one 6828f099bc Removed all static state tracking from job provider.
13 years ago
kay.one c23e736cc6 Cleaned up ConfigProvider. Added reflection based test for all properties in ConfigProvider.
13 years ago
kay.one f9a316f632 Moved tests for NzbDrone.Common to its own test project. added some new tests.
13 years ago
kay.one f52620db70 Replaced deprecated NBuilder calls.
13 years ago
kay.one 956092dbd4 Merge branch 'markus' into kay.one
13 years ago
kay.one ec08436587 Refactored the shit out of PostDownloadProvider
13 years ago
Mark McDowall a827199902 Fixed broken tests.
13 years ago
kay.one 35e44284c0 Fixed broken test, drop folder prefix uses regex instead of prefix now.
13 years ago
kay.one 1b2af8ea1b Merge branch 'markus' into kay.one
13 years ago
kay.one 2b6fc174ab Moved TestBase to correct folder
13 years ago
Mark McDowall bb5febaade DiskScanProvider.Scan() will log a warning if the path doesn't exist.
13 years ago
kay.one e4d90e2f92 Merge branch 'markus' into kay.one
13 years ago
kay.one 5bb3b339a6 Fixed broken test
13 years ago
Mark McDowall 72c555f250 Local series search will now search anywhere in the title, not just the beginning.
13 years ago
kay.one 651a63edea Merge branch 'markus' into kay.one
13 years ago
kay.one 8f9946eb63 Added some update APIs to check for updates and download and extract the update package.
13 years ago
Mark McDowall eb323b5394 Fixed broken log provider tests.
13 years ago
Mark McDowall d8fb295214 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Keivan Beigi e5c4f34e0e Adding some structure to NzbDrone.Core.Test
13 years ago
Mark McDowall f6e14b51f6 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 745d9d9355 TopSlider added for local series searching!
13 years ago
Keivan Beigi ae1a32b874 Fixed an issue where GetEpisodesByParseResult would throw object reference when episode list was null
13 years ago
Mark McDowall 3bd99a2b7b Added Support for 1011 as a number convention.
13 years ago
kay.one ea05635fd3 Moved NLog, Fluentassertion to Nuget.
13 years ago
kay.one e2290d9f0f Removed broken test
13 years ago
kay.one 39c8462769 Pushing broken test to test teamcity
13 years ago
Keivan Beigi 88b8c053fc Upgraded to NBuilder 3.
13 years ago
Mark McDowall e87cdbde44 Removed SharedLiveTemplates.xml.
13 years ago
Mark McDowall 4b31b5b693 Removed duplicate test.
13 years ago
Mark McDowall 66b4b094f9 Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall f78c5f2124 Fixed a couple tests, so they shouldn't fail due to other tests impacting them.
13 years ago
Mark McDowall 714bcee5cb Merge branch 'kay.one' of github.com:NzbDrone/NzbDrone into markus
13 years ago
Mark McDowall 642707e46d Fixed some issues with PostDownloadProvider.
13 years ago
Keivan Beigi 6af98f9e96 more better exception handling.
13 years ago
kay.one 288359627e WebException now marks indexer tests as Inconclusive.
13 years ago
kay.one 458565d473 WebException now marks indexer tests as Inconclusive.
13 years ago
kay.one 77b867d65e Testing ExceptionVerification Inconclusive logic
13 years ago
kay.one 97ed59920b trying to stop team city from sending exeptioneer reports.
13 years ago
kay.one 287cb03517 Added ignore exception type to ExceptionVerfication
13 years ago
kay.one c55ca42c21 Migration is no longer executed per test, its ran once and the db is cloned after that, (faster tests, cleaner logs ;)
13 years ago