2015-04-23 21:56:26 +00:00
|
|
|
package mocks
|
|
|
|
|
2015-05-01 04:20:59 +00:00
|
|
|
import (
|
|
|
|
"io"
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-05-22 18:37:40 +00:00
|
|
|
"github.com/drone/drone/Godeps/_workspace/src/github.com/stretchr/testify/mock"
|
2015-06-24 18:14:13 +00:00
|
|
|
"github.com/drone/drone/pkg/types"
|
2015-05-01 04:20:59 +00:00
|
|
|
)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-05-17 18:10:43 +00:00
|
|
|
type Store struct {
|
2015-04-23 21:56:26 +00:00
|
|
|
mock.Mock
|
|
|
|
}
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) User(id int64) (*types.User, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(id)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.User
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.User)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) UserLogin(_a0 string) (*types.User, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.User
|
2015-05-12 17:06:00 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.User)
|
2015-05-12 17:06:00 +00:00
|
|
|
}
|
2015-04-23 21:56:26 +00:00
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) UserList() ([]*types.User, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called()
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.User
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.User)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) UserFeed(_a0 *types.User, _a1 int, _a2 int) ([]*types.RepoCommit, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0, _a1, _a2)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.RepoCommit
|
2015-05-12 17:06:00 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.RepoCommit)
|
2015-05-12 17:06:00 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) UserCount() (int, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called()
|
|
|
|
|
|
|
|
r0 := ret.Get(0).(int)
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) AddUser(_a0 *types.User) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) SetUser(_a0 *types.User) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) DelUser(_a0 *types.User) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Token(_a0 int64) (*types.Token, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Token
|
2015-05-12 17:06:00 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Token)
|
2015-05-12 17:06:00 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) TokenLabel(_a0 *types.User, _a1 string) (*types.Token, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Token
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Token)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) TokenList(_a0 *types.User) ([]*types.Token, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.Token
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.Token)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) AddToken(_a0 *types.Token) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) DelToken(_a0 *types.Token) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Starred(_a0 *types.User, _a1 *types.Repo) (bool, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
|
|
|
r0 := ret.Get(0).(bool)
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) AddStar(_a0 *types.User, _a1 *types.Repo) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) DelStar(_a0 *types.User, _a1 *types.Repo) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Repo(id int64) (*types.Repo, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(id)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Repo
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Repo)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) RepoName(owner string, name string) (*types.Repo, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(owner, name)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Repo
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Repo)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) RepoList(_a0 *types.User) ([]*types.Repo, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.Repo
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.Repo)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) AddRepo(_a0 *types.Repo) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) SetRepo(_a0 *types.Repo) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) DelRepo(_a0 *types.Repo) error {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Build(_a0 int64) (*types.Build, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Build
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Build)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) BuildNumber(_a0 *types.Repo, _a1 int) (*types.Build, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Build
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Build)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-08-22 15:06:58 +00:00
|
|
|
func (m *Store) BuildPullRequestNumber(_a0 *types.Repo, _a1 int) (*types.Build, error) {
|
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
|
|
|
var r0 *types.Build
|
|
|
|
if ret.Get(0) != nil {
|
|
|
|
r0 = ret.Get(0).(*types.Build)
|
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
|
|
|
func (m *Store) BuildSha(_a0 *types.Repo, _a1, _a2 string) (*types.Build, error) {
|
|
|
|
ret := m.Called(_a0, _a1, _a2)
|
|
|
|
|
|
|
|
var r0 *types.Build
|
|
|
|
if ret.Get(0) != nil {
|
|
|
|
r0 = ret.Get(0).(*types.Build)
|
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) BuildLast(_a0 *types.Repo, _a1 string) (*types.Build, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Build
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Build)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) BuildList(_a0 *types.Repo, _a1 int, _a2 int) ([]*types.Build, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0, _a1, _a2)
|
2015-05-01 04:20:59 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.Build
|
2015-05-01 04:20:59 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.Build)
|
2015-05-01 04:20:59 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) AddBuild(_a0 *types.Build) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) SetBuild(_a0 *types.Build) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) KillBuilds() error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called()
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Job(_a0 int64) (*types.Job, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Job
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Job)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) JobNumber(_a0 *types.Build, _a1 int) (*types.Job, error) {
|
2015-04-23 21:56:26 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 *types.Job
|
2015-04-23 21:56:26 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).(*types.Job)
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) JobList(_a0 *types.Build) ([]*types.Job, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
2015-06-24 18:14:13 +00:00
|
|
|
var r0 []*types.Job
|
2015-05-12 17:06:00 +00:00
|
|
|
if ret.Get(0) != nil {
|
2015-06-24 18:14:13 +00:00
|
|
|
r0 = ret.Get(0).([]*types.Job)
|
2015-05-12 17:06:00 +00:00
|
|
|
}
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) SetJob(_a0 *types.Job) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(_a0)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) GetBlob(path string) ([]byte, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(path)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-05-12 17:06:00 +00:00
|
|
|
var r0 []byte
|
|
|
|
if ret.Get(0) != nil {
|
|
|
|
r0 = ret.Get(0).([]byte)
|
|
|
|
}
|
2015-04-23 21:56:26 +00:00
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) GetBlobReader(path string) (io.ReadCloser, error) {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(path)
|
2015-05-08 05:31:25 +00:00
|
|
|
|
2015-05-12 17:06:00 +00:00
|
|
|
r0 := ret.Get(0).(io.ReadCloser)
|
|
|
|
r1 := ret.Error(1)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
2015-05-12 17:06:00 +00:00
|
|
|
return r0, r1
|
2015-04-23 21:56:26 +00:00
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) SetBlob(path string, data []byte) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(path, data)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) SetBlobReader(path string, r io.Reader) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(path, r)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-05-17 18:10:43 +00:00
|
|
|
func (m *Store) DelBlob(path string) error {
|
2015-05-12 17:06:00 +00:00
|
|
|
ret := m.Called(path)
|
2015-04-23 21:56:26 +00:00
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) Agent(_a0 *types.Build) (string, error) {
|
2015-05-19 06:20:12 +00:00
|
|
|
ret := m.Called(_a0)
|
|
|
|
|
|
|
|
r0 := ret.Get(0).(string)
|
|
|
|
r1 := ret.Error(1)
|
|
|
|
|
|
|
|
return r0, r1
|
|
|
|
}
|
2015-06-24 18:14:13 +00:00
|
|
|
func (m *Store) SetAgent(_a0 *types.Build, _a1 string) error {
|
2015-05-19 06:20:12 +00:00
|
|
|
ret := m.Called(_a0, _a1)
|
|
|
|
|
|
|
|
r0 := ret.Error(0)
|
|
|
|
|
|
|
|
return r0
|
|
|
|
}
|