// NewPaperDocSharingPolicy returns a new PaperDocSharingPolicy instance
974663
func NewPaperDocSharingPolicy(DocId string, SharingPolicy *SharingPolicy) *PaperDocSharingPolicy {
	s := new(PaperDocSharingPolicy)
	s.DocId = DocId
	s.SharingPolicy = SharingPolicy
	return s
}
524624
func NewPaperChangeMemberPolicyDetails(NewValue *PaperMemberPolicy) *PaperChangeMemberPolicyDetails {
	s := new(PaperChangeMemberPolicyDetails)
	s.NewValue = NewValue
	return s
}
598454
func NewPaperDocExportResult(Owner string, Title string, Revision int64, MimeType string) *PaperDocExportResult {
	s := new(PaperDocExportResult)
	s.Owner = Owner
	s.Title = Title
	s.Revision = Revision
	s.MimeType = MimeType
	return s
}
482077
func NewPaperDocTeamInviteType(Description string) *PaperDocTeamInviteType {
	s := new(PaperDocTeamInviteType)
	s.Description = Description
	return s
}
174768
func NewPaperChangeMemberPolicyType(Description string) *PaperChangeMemberPolicyType {
	s := new(PaperChangeMemberPolicyType)
	s.Description = Description
	return s
}
144710
func NewPaperDocumentLogInfo(DocId string, DocTitle string) *PaperDocumentLogInfo {
	s := new(PaperDocumentLogInfo)
	s.DocId = DocId
	s.DocTitle = DocTitle
	return s
}
638379
func NewPaperContentAddMemberType(Description string) *PaperContentAddMemberType {
	s := new(PaperContentAddMemberType)
	s.Description = Description
	return s
}
1340273
func NewPaperChangeMemberLinkPolicyDetails(NewValue *PaperMemberPolicy) *PaperChangeMemberLinkPolicyDetails {
	s := new(PaperChangeMemberLinkPolicyDetails)
	s.NewValue = NewValue
	return s
}
1358813
func NewPaperContentPermanentlyDeleteType(Description string) *PaperContentPermanentlyDeleteType {
	s := new(PaperContentPermanentlyDeleteType)
	s.Description = Description
	return s
}
298576
func NewRefPaperDoc(DocId string) *RefPaperDoc {
	s := new(RefPaperDoc)
	s.DocId = DocId
	return s
}
106835
func NewListPaperDocsArgs() *ListPaperDocsArgs {
	s := new(ListPaperDocsArgs)
	s.FilterBy = &ListPaperDocsFilterBy{Tagged: dropbox.Tagged{"docs_accessed"}}
	s.SortBy = &ListPaperDocsSortBy{Tagged: dropbox.Tagged{"accessed"}}
	s.SortOrder = &ListPaperDocsSortOrder{Tagged: dropbox.Tagged{"ascending"}}
	s.Limit = 1000
	return s
}
1229638
func NewPaperDocMentionType(Description string) *PaperDocMentionType {
	s := new(PaperDocMentionType)
	s.Description = Description
	return s
}
661491
func NewPaperContentRenameType(Description string) *PaperContentRenameType {
	s := new(PaperContentRenameType)
	s.Description = Description
	return s
}
1207228
func (pr *provider) NewPolicy(data []byte) (policies.Policy, proto.Message, error) {
	sigPolicy := &cb.SignaturePolicyEnvelope{}
	if err := proto.Unmarshal(data, sigPolicy); err != nil {
		return nil, nil, fmt.Errorf("Error unmarshaling to SignaturePolicy: %s", err)
	}

	if sigPolicy.Version != 0 {
		return nil, nil, fmt.Errorf("This evaluator only understands messages of version 0, but version was %d", sigPolicy.Version)
	}

	compiled, err := compile(sigPolicy.Rule, sigPolicy.Identities, pr.deserializer)
	if err != nil {
		return nil, nil, err
	}

	return &policy{
		evaluator:    compiled,
		deserializer: pr.deserializer,
	}, sigPolicy, nil

}
722833
func NewSharedContentChangeViewerInfoPolicyType(Description string) *SharedContentChangeViewerInfoPolicyType {
	s := new(SharedContentChangeViewerInfoPolicyType)
	s.Description = Description
	return s
}
1368215
func NewPaperFolderFollowedType(Description string) *PaperFolderFollowedType {
	s := new(PaperFolderFollowedType)
	s.Description = Description
	return s
}
311330
func NewPolicy(config PolicyConfig) *Policy {
	return &Policy{
		l:                    new(sync.RWMutex),
		Name:                 config.Name,
		Type:                 config.Type,
		Derived:              config.Derived,
		KDF:                  config.KDF,
		ConvergentEncryption: config.ConvergentEncryption,
		ConvergentVersion:    -1,
		Exportable:           config.Exportable,
		DeletionAllowed:      config.DeletionAllowed,
		AllowPlaintextBackup: config.AllowPlaintextBackup,
		VersionTemplate:      config.VersionTemplate,
		StoragePrefix:        config.StoragePrefix,
	}
}