- Add new files `bookmark.go`, `chromium_darwin.go`, `browserdata/cookie.go`, `browser_windows.go`, `browser_linux.go`, `datatype.go`, `password.go`, `browserdata/browserdata.go`, `chromium_linux.go`, `chromium_windows.go`
- Refactor `NewChromium` function to accept an `Options` argument
- Refactor `options` code to use a struct instead of multiple arguments
- Modify `filterExistDataPaths` to return data paths instead of `BrowserData`
- Add `Passwords` and `Cookies` functions to `chromium`
- Delete unused files and functions ` errors.go`, `cookie.go`, `browsingdata.go`, `consts.go`, `firefox.go`, `password.go`, `chromium_test.go`, `firefox_test.go`
- Improve error messages for keychain related issues
- Change `BrowserData.Passwords()` to `Passwords()` for simplification
- Remove unused code for browsers `Yandex` and `Edge`, and unused map `browsers` and methods `BrowsingData()` and `AllBrowsingData()` from chromium and firefox structs
- Add `DefaultDBHandler` and `DefaultJSONHandler` functions for SQLite3 queries
- Refactored and improved readability of Firefox initialization code
- Added support for multiple Firefox profiles
- Implemented functionality to find and decrypt Firefox master key
- Modified password retrieval functions in Firefox and Chromium to handle unsupported passwords and improve error handling
- Updated return values for Firefox and Yandex browser types, and removed Yandex browser from map
- Changed function name and parameter in options.go to disable all users instead of enable all users
- Updated crypto package to improve error messaging and removed unused code
- Implement `Browser` interface and related functions
- Add `Passwords` method to `chromium` for exporting and returning passwords
- Ignore `/docs` directory