日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python编写安装脚本_2. 编写安装脚本

發布時間:2023/12/10 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编写安装脚本_2. 编写安装脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.編寫安裝腳本?

The setup script is the centre of all activity in building, distributing, and

installing modules using the Distutils. The main purpose of the setup script is

to describe your module distribution to the Distutils, so that the various

commands that operate on your modules do the right thing. As we saw in section

一個簡單的例子 above, the setup script consists mainly of a call to

setup(), and most information supplied to the Distutils by the module

developer is supplied as keyword arguments to setup().

Here’s a slightly more involved example, which we’ll follow for the next couple

of sections: the Distutils’ own setup script. (Keep in mind that although the

Distutils are included with Python 1.6 and later, they also have an independent

existence so that Python 1.5.2 users can use them to install other module

distributions. The Distutils’ own setup script, shown here, is used to install

the package into Python 1.5.2.)

#!/usr/bin/env python

from distutils.core import setup

setup(name='Distutils',

version='1.0',

description='Python Distribution Utilities',

author='Greg Ward',

author_email='gward@python.net',

url='https://www.python.org/sigs/distutils-sig/',

packages=['distutils', 'distutils.command'],

)

There are only two differences between this and the trivial one-file

distribution presented in section 一個簡單的例子: more metadata, and the

specification of pure Python modules by package, rather than by module. This is

important since the Distutils consist of a couple of dozen modules split into

(so far) two packages; an explicit list of every module would be tedious to

generate and difficult to maintain. For more information on the additional

meta-data, see section Additional meta-data.

Note that any pathnames (files or directories) supplied in the setup script

should be written using the Unix convention, i.e. slash-separated. The

Distutils will take care of converting this platform-neutral representation into

whatever is appropriate on your current platform before actually using the

pathname. This makes your setup script portable across operating systems, which

of course is one of the major goals of the Distutils. In this spirit, all

pathnames in this document are slash-separated.

This, of course, only applies to pathnames given to Distutils functions. If

you, for example, use standard Python functions such as glob.glob() or

os.listdir() to specify files, you should be careful to write portable

code instead of hardcoding path separators:

glob.glob(os.path.join('mydir', 'subdir', '*.html'))

os.listdir(os.path.join('mydir', 'subdir'))

2.1.Listing whole packages?

The packages option tells the Distutils to process (build, distribute,

install, etc.) all pure Python modules found in each package mentioned in the

packages list. In order to do this, of course, there has to be a

correspondence between package names and directories in the filesystem. The

default correspondence is the most obvious one, i.e. package distutils is

found in the directory distutils relative to the distribution root.

Thus, when you say packages = ['foo'] in your setup script, you are

promising that the Distutils will find a file foo/__init__.py (which

might be spelled differently on your system, but you get the idea) relative to

the directory where your setup script lives. If you break this promise, the

Distutils will issue a warning but still process the broken package anyway.

If you use a different convention to lay out your source directory, that’s no

problem: you just have to supply the package_dir option to tell the

Distutils about your convention. For example, say you keep all Python source

under lib, so that modules in the “root package” (i.e., not in any

package at all) are in lib, modules in the foo package are in

lib/foo, and so forth. Then you would put

package_dir = {'': 'lib'}

in your setup script. The keys to this dictionary are package names, and an

empty package name stands for the root package. The values are directory names

relative to your distribution root. In this case, when you say packages =

['foo'], you are promising that the file lib/foo/__init__.py exists.

Another possible convention is to put the foo package right in

lib, the foo.bar package in lib/bar, etc. This would be

written in the setup script as

package_dir = {'foo': 'lib'}

A package: dir entry in the package_dir dictionary implicitly

applies to all packages below package, so the foo.bar case is

automatically handled here. In this example, having packages = ['foo',

'foo.bar'] tells the Distutils to look for lib/__init__.py and

lib/bar/__init__.py. (Keep in mind that although package_dir

applies recursively, you must explicitly list all packages in

packages: the Distutils will not recursively scan your source tree

looking for any directory with an __init__.py file.)

2.2.Listing individual modules?

For a small module distribution, you might prefer to list all modules rather

than listing packages—especially the case of a single module that goes in the

“root package” (i.e., no package at all). This simplest case was shown in

section 一個簡單的例子; here is a slightly more involved example:

py_modules = ['mod1', 'pkg.mod2']

This describes two modules, one of them in the “root” package, the other in the

pkg package. Again, the default package/directory layout implies that

these two modules can be found in mod1.py and pkg/mod2.py, and

that pkg/__init__.py exists as well. And again, you can override the

package/directory correspondence using the package_dir option.

2.3.Describing extension modules?

Just as writing Python extension modules is a bit more complicated than writing

pure Python modules, describing them to the Distutils is a bit more complicated.

Unlike pure modules, it’s not enough just to list modules or packages and expect

the Distutils to go out and find the right files; you have to specify the

extension name, source file(s), and any compile/link requirements (include

directories, libraries to link with, etc.).

All of this is done through another keyword argument to setup(), the

ext_modules option. ext_modules is just a list of

Extension instances, each of which describes a

single extension module.

Suppose your distribution includes a single extension, called foo and

implemented by foo.c. If no additional instructions to the

compiler/linker are needed, describing this extension is quite simple:

Extension('foo', ['foo.c'])

The Extension class can be imported from distutils.core along

with setup(). Thus, the setup script for a module distribution that

contains only this one extension and nothing else might be:

from distutils.core import setup, Extension

setup(name='foo',

version='1.0',

ext_modules=[Extension('foo', ['foo.c'])],

)

The Extension class (actually, the underlying extension-building

machinery implemented by the build_ext command) supports a great deal

of flexibility in describing Python extensions, which is explained in the

following sections.

2.3.1.擴展名和軟件包?

The first argument to the Extension constructor is

always the name of the extension, including any package names. For example,

Extension('foo', ['src/foo1.c', 'src/foo2.c'])

describes an extension that lives in the root package, while

Extension('pkg.foo', ['src/foo1.c', 'src/foo2.c'])

describes the same extension in the pkg package. The source files and

resulting object code are identical in both cases; the only difference is where

in the filesystem (and therefore where in Python’s namespace hierarchy) the

resulting extension lives.

If you have a number of extensions all in the same package (or all under the

same base package), use the ext_package keyword argument to

setup(). For example,

setup(...,

ext_package='pkg',

ext_modules=[Extension('foo', ['foo.c']),

Extension('subpkg.bar', ['bar.c'])],

)

will compile foo.c to the extension pkg.foo, and bar.c to

pkg.subpkg.bar.

2.3.2.Extension source files?

The second argument to the Extension constructor is

a list of source

files. Since the Distutils currently only support C, C++, and Objective-C

extensions, these are normally C/C++/Objective-C source files. (Be sure to use

appropriate extensions to distinguish C++ source files: .cc and

.cpp seem to be recognized by both Unix and Windows compilers.)

However, you can also include SWIG interface (.i) files in the list; the

build_ext command knows how to deal with SWIG extensions: it will run

SWIG on the interface file and compile the resulting C/C++ file into your

extension.

This warning notwithstanding, options to SWIG can be currently passed like

this:

setup(...,

ext_modules=[Extension('_foo', ['foo.i'],

swig_opts=['-modern', '-I../include'])],

py_modules=['foo'],

)

Or on the commandline like this:

> python setup.py build_ext --swig-opts="-modern -I../include"

On some platforms, you can include non-source files that are processed by the

compiler and included in your extension. Currently, this just means Windows

message text (.mc) files and resource definition (.rc) files for

Visual C++. These will be compiled to binary resource (.res) files and

linked into the executable.

2.3.3.Preprocessor options?

Three optional arguments to Extension will help if

you need to specify include directories to search or preprocessor macros to

define/undefine: include_dirs, define_macros, and undef_macros.

For example, if your extension requires header files in the include

directory under your distribution root, use the include_dirs option:

Extension('foo', ['foo.c'], include_dirs=['include'])

You can specify absolute directories there; if you know that your extension will

only be built on Unix systems with X11R6 installed to /usr, you can get

away with

Extension('foo', ['foo.c'], include_dirs=['/usr/include/X11'])

You should avoid this sort of non-portable usage if you plan to distribute your

code: it’s probably better to write C code like

#include

If you need to include header files from some other Python extension, you can

take advantage of the fact that header files are installed in a consistent way

by the Distutils install_headers command. For example, the Numerical

Python header files are installed (on a standard Unix installation) to

/usr/local/include/python1.5/Numerical. (The exact location will differ

according to your platform and Python installation.) Since the Python include

directory—/usr/local/include/python1.5 in this case—is always

included in the search path when building Python extensions, the best approach

is to write C code like

#include

If you must put the Numerical include directory right into your header

search path, though, you can find that directory using the Distutils

distutils.sysconfig module:

from distutils.sysconfig import get_python_inc

incdir = os.path.join(get_python_inc(plat_specific=1), 'Numerical')

setup(...,

Extension(..., include_dirs=[incdir]),

)

Even though this is quite portable—it will work on any Python installation,

regardless of platform—it’s probably easier to just write your C code in the

sensible way.

You can define and undefine pre-processor macros with the define_macros and

undef_macros options. define_macros takes a list of (name, value)

tuples, where name is the name of the macro to define (a string) and

value is its value: either a string or None. (Defining a macro FOO

to None is the equivalent of a bare #define FOO in your C source: with

most compilers, this sets FOO to the string 1.) undef_macros is

just a list of macros to undefine.

例如

Extension(...,

define_macros=[('NDEBUG', '1'),

('HAVE_STRFTIME', None)],

undef_macros=['HAVE_FOO', 'HAVE_BAR'])

is the equivalent of having this at the top of every C source file:

#define NDEBUG 1

#define HAVE_STRFTIME

#undef HAVE_FOO

#undef HAVE_BAR

2.3.4.Library options?

You can also specify the libraries to link against when building your extension,

and the directories to search for those libraries. The libraries option is

a list of libraries to link against, library_dirs is a list of directories

to search for libraries at link-time, and runtime_library_dirs is a list of

directories to search for shared (dynamically loaded) libraries at run-time.

For example, if you need to link against libraries known to be in the standard

library search path on target systems

Extension(...,

libraries=['gdbm', 'readline'])

If you need to link with libraries in a non-standard location, you’ll have to

include the location in library_dirs:

Extension(...,

library_dirs=['/usr/X11R6/lib'],

libraries=['X11', 'Xt'])

(Again, this sort of non-portable construct should be avoided if you intend to

distribute your code.)

2.3.5.其他選項?

There are still some other options which can be used to handle special cases.

The optional option is a boolean; if it is true,

a build failure in the extension will not abort the build process, but

instead simply not install the failing extension.

The extra_objects option is a list of object files to be passed to the

linker. These files must not have extensions, as the default extension for the

compiler is used.

extra_compile_args and extra_link_args can be used to

specify additional command line options for the respective compiler and linker

command lines.

export_symbols is only useful on Windows. It can contain a list of

symbols (functions or variables) to be exported. This option is not needed when

building compiled extensions: Distutils will automatically add initmodule

to the list of exported symbols.

The depends option is a list of files that the extension depends on

(for example header files). The build command will call the compiler on the

sources to rebuild extension if any on this files has been modified since the

previous build.

2.4.Relationships between Distributions and Packages?

A distribution may relate to packages in three specific ways:

It can require packages or modules.

It can provide packages or modules.

It can obsolete packages or modules.

These relationships can be specified using keyword arguments to the

distutils.core.setup() function.

Dependencies on other Python modules and packages can be specified by supplying

the requires keyword argument to setup(). The value must be a list of

strings. Each string specifies a package that is required, and optionally what

versions are sufficient.

To specify that any version of a module or package is required, the string

should consist entirely of the module or package name. Examples include

'mymodule' and 'xml.parsers.expat'.

If specific versions are required, a sequence of qualifiers can be supplied in

parentheses. Each qualifier may consist of a comparison operator and a version

number. The accepted comparison operators are:

< > ==

<= >= !=

These can be combined by using multiple qualifiers separated by commas (and

optional whitespace). In this case, all of the qualifiers must be matched; a

logical AND is used to combine the evaluations.

Let’s look at a bunch of examples:

Requires Expression

解釋

==1.0

Only version 1.0 is compatible

>1.0, !=1.5.1, <2.0

Any version after 1.0 and before 2.0

is compatible, except 1.5.1

Now that we can specify dependencies, we also need to be able to specify what we

provide that other distributions can require. This is done using the provides

keyword argument to setup(). The value for this keyword is a list of

strings, each of which names a Python module or package, and optionally

identifies the version. If the version is not specified, it is assumed to match

that of the distribution.

Some examples:

Provides Expression

解釋

mypkg

Provide mypkg, using the distribution

version

mypkg (1.1)

Provide mypkg version 1.1, regardless of

the distribution version

A package can declare that it obsoletes other packages using the obsoletes

keyword argument. The value for this is similar to that of the requires

keyword: a list of strings giving module or package specifiers. Each specifier

consists of a module or package name optionally followed by one or more version

qualifiers. Version qualifiers are given in parentheses after the module or

package name.

The versions identified by the qualifiers are those that are obsoleted by the

distribution being described. If no qualifiers are given, all versions of the

named module or package are understood to be obsoleted.

2.5.Installing Scripts?

So far we have been dealing with pure and non-pure Python modules, which are

usually not run by themselves but imported by scripts.

Scripts are files containing Python source code, intended to be started from the

command line. Scripts don’t require Distutils to do anything very complicated.

The only clever feature is that if the first line of the script starts with

#! and contains the word “python”, the Distutils will adjust the first line

to refer to the current interpreter location. By default, it is replaced with

the current interpreter location. The --executable (or -e)

option will allow the interpreter path to be explicitly overridden.

The scripts option simply is a list of files to be handled in this

way. From the PyXML setup script:

setup(...,

scripts=['scripts/xmlproc_parse', 'scripts/xmlproc_val']

)

在 3.1 版更改:All the scripts will also be added to the MANIFEST file if no template is

provided. See Specifying the files to distribute.

2.6.Installing Package Data?

Often, additional files need to be installed into a package. These files are

often data that’s closely related to the package’s implementation, or text files

containing documentation that might be of interest to programmers using the

package. These files are called package data.

Package data can be added to packages using the package_data keyword

argument to the setup() function. The value must be a mapping from

package name to a list of relative path names that should be copied into the

package. The paths are interpreted as relative to the directory containing the

package (information from the package_dir mapping is used if appropriate);

that is, the files are expected to be part of the package in the source

directories. They may contain glob patterns as well.

The path names may contain directory portions; any necessary directories will be

created in the installation.

For example, if a package should contain a subdirectory with several data files,

the files can be arranged like this in the source tree:

setup.py

src/

mypkg/

__init__.py

module.py

data/

tables.dat

spoons.dat

forks.dat

The corresponding call to setup() might be:

setup(...,

packages=['mypkg'],

package_dir={'mypkg': 'src/mypkg'},

package_data={'mypkg': ['data/*.dat']},

)

在 3.1 版更改:All the files that match package_data will be added to the MANIFEST

file if no template is provided. See Specifying the files to distribute.

2.7.Installing Additional Files?

The data_files option can be used to specify additional files needed

by the module distribution: configuration files, message catalogs, data files,

anything which doesn’t fit in the previous categories.

data_files specifies a sequence of (directory, files) pairs in the

following way:

setup(...,

data_files=[('bitmaps', ['bm/b1.gif', 'bm/b2.gif']),

('config', ['cfg/data.cfg']),

('/etc/init.d', ['init-script'])]

)

Note that you can specify the directory names where the data files will be

installed, but you cannot rename the data files themselves.

Each (directory, files) pair in the sequence specifies the installation

directory and the files to install there. If directory is a relative path, it

is interpreted relative to the installation prefix (Python’s sys.prefix for

pure-Python packages, sys.exec_prefix for packages that contain extension

modules). Each file name in files is interpreted relative to the

setup.py script at the top of the package source distribution. No

directory information from files is used to determine the final location of

the installed file; only the name of the file is used.

You can specify the data_files options as a simple sequence of files

without specifying a target directory, but this is not recommended, and the

install command will print a warning in this case. To install data

files directly in the target directory, an empty string should be given as the

directory.

在 3.1 版更改:All the files that match data_files will be added to the MANIFEST

file if no template is provided. See Specifying the files to distribute.

2.8.Additional meta-data?

The setup script may include additional meta-data beyond the name and version.

This information includes:

元數據

描述

注釋

name

包名稱

短字符串

(1)

version

此發布的版本

短字符串

(1)(2)

author

軟件包作者的姓名

短字符串

(3)

author_email

軟件包的作者的電子郵件地址

電子郵件地址

(3)

maintainer

軟件包維護者的名字

短字符串

(3)

maintainer_email

軟件包維護者的電子郵件地址

電子郵件地址

(3)

url

軟件包的網址

網址

(1)

description

軟件包的簡短摘要說明

短字符串

long_description

軟件包的詳細說明

長字符串

(5)

download_url

可以下載軟件包的網址

網址

(4)

classifiers

分類列表

字符串列表

(4)

platforms

平臺清單

字符串列表

license

軟件包許可證

短字符串

(6)

注釋:

These fields are required.

It is recommended that versions take the form major.minor[.patch[.sub]].

Either the author or the maintainer must be identified. If maintainer is

provided, distutils lists it as the author in PKG-INFO.

These fields should not be used if your package is to be compatible with Python

versions prior to 2.2.3 or 2.3. The list is available from the PyPI website.

The long_description field is used by PyPI when you are

registering a package, to

build its home page.

The license field is a text indicating the license covering the

package where the license is not a selection from the “License” Trove

classifiers. See the Classifier field. Notice that

there’s a licence distribution option which is deprecated but still

acts as an alias for license.

‘short string’A single line of text, not more than 200 characters.

‘long string’Multiple lines of plain text in reStructuredText format (see

http://docutils.sourceforge.net/).

‘list of strings’See below.

Encoding the version information is an art in itself. Python packages generally

adhere to the version format major.minor[.patch][sub]. The major number is 0

for initial, experimental releases of software. It is incremented for releases

that represent major milestones in a package. The minor number is incremented

when important new features are added to the package. The patch number

increments when bug-fix releases are made. Additional trailing version

information is sometimes used to indicate sub-releases. These are

“a1,a2,…,aN” (for alpha releases, where functionality and API may change),

“b1,b2,…,bN” (for beta releases, which only fix bugs) and “pr1,pr2,…,prN”

(for final pre-release release testing). Some examples:

0.1.0the first, experimental release of a package

1.0.1a2the second alpha release of the first patch version of 1.0

classifiers are specified in a Python list:

setup(...,

classifiers=[

'Development Status :: 4 - Beta',

'Environment :: Console',

'Environment :: Web Environment',

'Intended Audience :: End Users/Desktop',

'Intended Audience :: Developers',

'Intended Audience :: System Administrators',

'License :: OSI Approved :: Python Software Foundation License',

'Operating System :: MacOS :: MacOS X',

'Operating System :: Microsoft :: Windows',

'Operating System :: POSIX',

'Programming Language :: Python',

'Topic :: Communications :: Email',

'Topic :: Office/Business',

'Topic :: Software Development :: Bug Tracking',

],

)

2.9.Debugging the setup script?

Sometimes things go wrong, and the setup script doesn’t do what the developer

wants.

Distutils catches any exceptions when running the setup script, and print a

simple error message before the script is terminated. The motivation for this

behaviour is to not confuse administrators who don’t know much about Python and

are trying to install a package. If they get a big long traceback from deep

inside the guts of Distutils, they may think the package or the Python

installation is broken because they don’t read all the way down to the bottom

and see that it’s a permission problem.

On the other hand, this doesn’t help the developer to find the cause of the

failure. For this purpose, the DISTUTILS_DEBUG environment variable can be set

to anything except an empty string, and distutils will now print detailed

information about what it is doing, dump the full traceback when an exception

occurs, and print the whole command line when an external program (like a C

compiler) fails.

總結

以上是生活随笔為你收集整理的python编写安装脚本_2. 编写安装脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

97在线免费 | 中文区中文字幕免费看 | 91精品在线免费 | 亚洲永久av | 日韩有码专区 | 久草在线视频在线 | 国产91勾搭技师精品 | 久久激情五月丁香伊人 | 亚洲不卡av一区二区三区 | 欧美做受高潮电影o | 欧美一区二区三区四区夜夜大片 | 黄色一区二区在线观看 | 久久精品三级 | 久久久鲁| 成人黄色大片网站 | 国产无遮挡猛进猛出免费软件 | 黄色软件在线观看 | 久草视频中文 | 色视频在线观看 | 中文 一区二区 | 一级黄色av | 99精品一区二区三区 | 国产成人福利 | av成人亚洲| 日本久久片| 啪啪av在线 | 亚洲在线高清 | 欧美成人按摩 | 超碰97在线人人 | 在线精品视频在线观看高清 | 99久久婷婷国产综合精品 | 日韩乱色精品一区二区 | 国产最新91 | 一区二区在线电影 | av免费在线免费观看 | 日韩久久精品一区 | 五月开心六月伊人色婷婷 | 亚洲视频每日更新 | 永久黄网站色视频免费观看w | 在线观看国产区 | 综合婷婷丁香 | 久久这里只有精品9 | 日韩精品免费一区二区 | 日日爱999| 免费网站看av片 | 一区免费视频 | 色国产精品一区在线观看 | 99久久9| 欧美一区二区三区免费观看 | 激情影院在线观看 | 五月天天在线 | 国产破处在线播放 | 国产在线色 | 午夜婷婷综合 | 欧美成人一二区 | 97超碰人人澡 | 中文字幕视频在线播放 | 五月天综合婷婷 | 97免费在线观看 | 久色 网| 99免费精品| 日韩在线观看高清 | 中文字幕一区三区 | 中文字幕在线看 | www.av在线播放 | 成人av电影在线观看 | 欧美日韩在线第一页 | 中文视频在线播放 | 国产高清视频在线观看 | 国产综合在线观看视频 | 日韩欧美一区视频 | 亚洲日本va午夜在线电影 | 久久99久久99免费视频 | 成人av免费 | 国产一区二区中文字幕 | 天天干天天玩天天操 | 天天色天天操综合网 | 国产成人精品久久久久 | 亚洲国产黄色片 | 欧美激情精品 | 99久久精品国产免费看不卡 | 久久av免费电影 | aa级黄色大片 | 国产精品日韩在线观看 | 17videosex性欧美 | 久久99国产视频 | 免费热情视频 | 992tv人人草| 五月色综合 | 超碰伊人网| 在线亚洲成人 | 久久视频在线观看免费 | 免费看黄的视频 | 欧美在线观看视频 | 激情av一区二区 | 一区二区三区www | 日韩成人精品 | 99视频国产精品 | 91麻豆产精品久久久久久 | 国产精品乱码一区二三区 | 日韩欧美精品在线视频 | 国产精品久久久久亚洲影视 | 91网在线看 | 精品一区二区三区在线播放 | 精品国产一区二区三区日日嗨 | 国产综合在线视频 | 中文字幕黄色 | 一区二区三区在线视频111 | 精品久久毛片 | 亚洲黄色片 | 亚洲黑丝少妇 | 日韩资源在线观看 | av成人免费在线看 | 在线观看免费一级片 | 欧美无极色 | 五月天堂色 | 91网址在线看| 美女国产精品 | 日韩在线观看你懂的 | a级片久久久 | 特级黄录像视频 | 日韩在线理论 | 国产精品久久久久永久免费观看 | 久久性生活片 | 99久久精品一区二区成人 | 99超碰在线观看 | 国产亚洲精品久久久久久网站 | 免费看的黄网站软件 | 久久精品久久精品久久 | 亚洲精品午夜aaa久久久 | 91视频com| 四虎4hu永久免费 | 亚洲免费高清视频 | 欧美日韩激情视频8区 | 五月天,com| 国产高清av | 91看片在线看片 | 中文字幕精品www乱入免费视频 | 国产亚洲久久 | 日日夜夜操操操操 | 国产精品久久久久久久毛片 | 热久久国产精品 | 91精品视频在线免费观看 | 天天插天天干 | 国产二级视频 | 国产精品成人免费精品自在线观看 | 五月在线 | 探花视频在线观看免费版 | 中文字幕电影在线 | 亚洲视屏一区 | 波多野结衣电影一区二区三区 | 特黄特色特刺激视频免费播放 | 国产午夜精品免费一区二区三区视频 | 久久丁香网 | 欧美一级日韩三级 | 久久五月婷婷综合 | 国产区在线 | 国产精品电影一区二区 | 日韩高清一区在线 | 性色大片在线观看 | 中文字幕美女免费在线 | 国产精品成人免费一区久久羞羞 | 色综合久久久久久中文网 | 在线观看中文字幕网站 | 韩日精品在线 | 麻豆视传媒官网免费观看 | 黄色免费大片 | 婷婷久草| 精品久久1 | 国产亚洲欧洲 | www色综合 | 久久久久成人精品免费播放动漫 | 最新国产精品视频 | 在线观看视频你懂 | av先锋中文字幕 | 波多野结衣电影一区二区三区 | 国产成人精品在线观看 | 天天插日日插 | 最近久乱中文字幕 | 九九九在线观看视频 | 国产亚洲免费的视频看 | 中文字幕 婷婷 | www.夜夜骑.com| 国产视频一区二区三区在线 | 国产另类av | 国产精品午夜在线观看 | 国产精品地址 | 亚洲精品美女在线 | 香蕉久草 | 亚洲无吗视频在线 | 欧美亚洲精品在线观看 | 婷婷丁香花| 国产亚洲va综合人人澡精品 | 黄色影院在线观看 | 日韩电影在线视频 | 成人app在线免费观看 | 亚洲精品在 | 99精品免费久久久久久久久 | 在线观看日韩专区 | 手机av电影在线观看 | 中文字幕在线播放日韩 | 亚洲国产精品久久久久婷婷884 | 免费av大全| 国产在线91在线电影 | 亚洲最新合集 | 狠狠色伊人亚洲综合网站色 | 久久这里只有精品视频首页 | www免费看 | 91片网| 天天弄天天干 | 黄色网www| 国产 成人 久久 | 国产精品色在线 | 国产午夜三级 | 夜夜高潮夜夜爽国产伦精品 | 久草青青在线观看 | 欧美一区二视频在线免费观看 | 国产高清在线a视频大全 | 日日操天天操夜夜操 | 91福利视频在线 | 日韩国产精品久久久久久亚洲 | 波多野结衣电影一区二区三区 | 激情久久久久久久久久久久久久久久 | 久久国产亚洲精品 | 久草男人天堂 | 成片人卡1卡2卡3手机免费看 | 婷婷伊人五月天 | www黄色com | 激情婷婷在线 | www.狠狠操.com| 成人播放器| 99在线免费观看视频 | 69亚洲视频 | 免费av试看 | 国产精品女主播一区二区三区 | 亚洲黑丝少妇 | 天天干一干 | 久久一区91 | 日韩在线三区 | 久99久在线视频 | 国产高潮久久 | 久草综合视频 | 日韩一区二区免费视频 | 中文字幕视频免费观看 | 99精品免费 | 午夜神马福利 | 黄色中文字幕在线 | 国产精品久久在线观看 | 国产中文字幕视频在线观看 | 99在线热播精品免费 | 91成人免费看片 | 激情网第四色 | 亚洲综合精品视频 | 日韩电影久久 | 午夜视频免费在线观看 | 国产精品久久久影视 | 在线观看日韩 | 黄色网中文字幕 | 日日碰狠狠躁久久躁综合网 | 黄色tv视频 | 黄色小说网站在线 | 久久视频在线看 | 久久国产乱 | 久久视奸| 国产精品免费看久久久8精臀av | 久久夜夜夜 | 国产精品久久久久久久久久了 | 偷拍区另类综合在线 | 黄色在线免费观看网站 | 人人澡av | 99精品在线视频观看 | 免费视频 三区 | 久久九精品 | 激情网综合 | 精品国产免费久久 | 国产精品久久久久久久电影 | 四虎影视国产精品免费久久 | 国产伦精品一区二区三区… | 日批在线看 | 一区二区不卡视频在线观看 | 精品成人网 | 国产视频久久久久 | 久久九九网站 | 国产精品视频999 | 欧美成人黄色 | 中文字幕在线看视频 | 天天操天天爽天天干 | 日韩字幕| 欧美日韩精品在线一区二区 | 天天色天天射天天干 | 中文字幕一区二区在线播放 | 久久黄色精品视频 | 四虎国产精品成人免费4hu | 中文字幕视频网 | 欧美激情综合色 | 日韩理论影院 | 在线观看av中文字幕 | 色婷婷电影网 | 久久精品亚洲 | 一区二区三区高清不卡 | 美女黄频网站 | 亚洲另类人人澡 | 天天射夜夜爽 | 中文字幕在线免费 | 天天操天天透 | 丁香激情综合 | 久久精品精品 | 人人艹视频 | 99久久精品国产观看 | 国产在线视频资源 | 国产亚洲一区二区三区 | 男女激情麻豆 | 亚洲久草视频 | av福利超碰网站 | av片一区| 四虎影视成人精品国库在线观看 | 97超级碰| 欧美伊人网 | 亚洲精品xxx | 色干干| 亚洲综合精品在线 | 成人av一级片 | 国产一级片一区二区三区 | 视频在线亚洲 | 又湿又紧又大又爽a视频国产 | 中文在线8资源库 | 色99网| 视频在线播放国产 | 亚洲欧洲精品视频 | 免费电影播放 | 精品久久久久久久久久 | 国产美女在线精品免费观看 | 亚洲爱av| 综合伊人久久 | 久久久久女教师免费一区 | 国产91aaa| 亚洲国产剧情 | 国产r级在线观看 | 久久人人爽人人爽人人片av软件 | 国产精品正在播放 | 精品国产免费久久 | 国产看片网站 | 久久69精品 | 色中色资源站 | 欧美精品一区二区在线播放 | av激情五月| 一区二区中文字幕在线 | 在线看成人 | 久视频在线播放 | 午夜成人影视 | 综合色播 | 久久九九网站 | 亚洲精品中文在线观看 | 日日射天天射 | 午夜精品一区二区三区可下载 | 国内外成人免费在线视频 | 亚洲激情在线视频 | 黄色精品一区二区 | 国产喷水在线 | 欧美高清成人 | 国产精品中文在线 | 韩日av一区二区 | 日本在线观看中文字幕 | 麻豆高清免费国产一区 | 天天操天天干天天爱 | 免费黄色特级片 | 免费中文字幕在线观看 | 人人网人人爽 | av一级免费 | 91在线区| 欧美色婷婷 | 国产 欧美 日产久久 | 在线观看免费高清视频大全追剧 | 日韩一区二区三区免费电影 | 亚州av一区 | 综合色中色 | 国产中文字幕视频在线观看 | 久久精品久久精品久久39 | 9免费视频 | 天天操天天玩 | 最新国产一区二区三区 | 日韩精品久久久免费观看夜色 | 亚洲综合激情五月 | 国产美女免费视频 | 99精品黄色片免费大全 | 综合中文字幕 | 亚洲欧洲精品一区二区精品久久久 | 99国产视频| 中文字幕电影网 | 日韩中文字幕网站 | 日韩视频免费 | 五月激情视频 | 中文字幕在线久一本久 | 久久久久区 | 久久呀| 中文字幕在线字幕中文 | 日日日视频 | 丁香花在线观看视频在线 | 国产一区二区三区高清播放 | 天天综合视频在线观看 | 国产综合香蕉五月婷在线 | 最新国产精品久久精品 | 国产精品刺激对白麻豆99 | 97在线看| 91私密保健 | 五月婷婷激情网 | 免费观看完整版无人区 | 国产美女在线免费观看 | 丁香在线视频 | 国产精品日韩欧美 | 亚洲黄色在线播放 | 亚洲美女视频网 | av电影中文字幕在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩精品第1页 | 九九视频在线观看视频6 | 成年人视频免费在线播放 | 日韩手机在线观看 | 天天综合网天天 | 亚洲视频综合在线 | 亚洲天堂在线观看完整版 | 国产精品一区在线观看 | 欧美精品一区二区三区一线天视频 | 色wwwww| 久久九九影视 | 色资源网在线观看 | 日本特黄特色aaa大片免费 | 黄色毛片在线看 | 精品视频免费久久久看 | 国产精品一区久久久久 | 一级黄色电影网站 | 久久综合狠狠综合久久综合88 | 91成人小视频 | 午夜精品久久久久久久久久久久 | 91麻豆精品国产91久久久使用方法 | 在线免费黄色av | 麻豆你懂的 | 探花视频在线观看免费版 | 美女网站视频一区 | 中文字幕亚洲欧美日韩2019 | 中国一区二区视频 | 日韩黄色免费在线观看 | 国产成人亚洲在线观看 | 午夜国产一区 | 狠狠做深爱婷婷综合一区 | 久久精品网站免费观看 | 午夜视频一区二区三区 | 99视频导航 | 在线观看理论 | 夜夜夜夜操 | 日韩二区三区在线 | 久久久久久美女 | 国产精品视频免费 | 国产在线黄色 | 日韩激情小视频 | 久久av网址| 日韩在线视频看看 | 亚洲春色综合另类校园电影 | 狠狠狠狠狠操 | 久久蜜臀av| a级国产乱理论片在线观看 特级毛片在线观看 | 欧美日韩电影在线播放 | 免费视频一区二区 | 久久精品99国产精品 | 亚洲精品国产精品乱码在线观看 | 色婷婷88av视频一二三区 | 在线看黄网站 | 激情av网 | 国产精品99久久久精品免费观看 | 亚洲综合丁香 | 国产专区精品视频 | 狠狠色香婷婷久久亚洲精品 | 日韩中文字幕视频在线 | av一级片在线观看 | 免费观看mv大片高清 | 久久久精品一区二区 | 五月综合久久 | 久久蜜臀av | 国产精品va在线 | 亚洲在线成人精品 | 天天插伊人 | 日本精品久久久久中文字幕 | 午夜视频在线观看一区二区三区 | 色视频一区 | 精品国产一区二区三区久久久蜜臀 | 中文字幕国产在线 | www.五月婷婷 | 欧美成年人在线视频 | 热久久电影 | 热re99久久精品国产66热 | 亚洲视频在线免费看 | 午夜精品久久久久久久99水蜜桃 | 91爱爱网址 | 国产99久久| 91精品国产91久久久久久三级 | 毛片www| 91黄色小视频 | 日日爱视频 | 久久精品亚洲精品国产欧美 | 波多野结衣在线观看一区二区三区 | 蜜臀久久99精品久久久无需会员 | 91精品综合| 亚洲欧洲美洲av | 人人插人人艹 | 久久怡红院 | 一区二区欧美日韩 | 日本精品在线 | 国产精品久久久久久一区二区 | 日韩美在线 | 婷婷六月网 | 97av在线视频免费播放 | 亚洲午夜久久久久久久久久久 | 99久e精品热线免费 99国产精品久久久久久久久久 | 国产福利一区二区三区视频 | 久久伊人操| 国产精品久久久久久久午夜 | 久久精品视频4 | av成人资源 | 欧美aa在线观看 | 最新av观看| 日韩字幕在线 | 国产麻豆精品传媒av国产下载 | 黄色综合 | 91色国产在线| 精品国产精品久久一区免费式 | 999成人 | 久久国产手机看片 | 国产黄色大全 | 久热久草| 黄色大片视频网站 | 国产一区二区在线免费视频 | 亚洲精品九九 | 国产精品情侣视频 | 中文字幕高清有码 | 四虎影视精品永久在线观看 | 岛国一区在线 | 中文字幕最新精品 | 日韩国产欧美在线视频 | 欧美成人影音 | 色婷婷免费 | 韩日av在线 | 欧美大片aaa | 国产视频精品久久 | 精品黄色在线观看 | 在线播放一区二区三区 | 日韩影视精品 | 最近免费观看的电影完整版 | 在线色吧| 久久久精品网站 | 婷婷av电影| 久久天天躁狠狠躁亚洲综合公司 | 美女视频黄频大全免费 | av东方在线 | 色妞久久福利网 | 97碰碰精品嫩模在线播放 | 色婷婷狠 | 欧美作爱视频 | 久久综合色8888 | 国产一卡二卡四卡国 | 国产精品久久久久aaaa | 一级黄色av| 日一日操一操 | 日本大片免费观看在线 | 在线观看黄网站 | 国产精品成人一区二区三区吃奶 | 国产精品破处视频 | 中文字幕在线视频免费播放 | 国产最新91 | 亚洲日本色| 韩国在线一区 | 成人四虎| 日韩天堂在线观看 | 欧美精品xx | 欧美日韩一区二区久久 | 日韩一区二区在线免费观看 | 国产黄色片在线免费观看 | 亚洲午夜精品久久久久久久久久久久 | 久久色在线播放 | 国产免费久久久久 | 天天干天天操人体 | 久草在线免费电影 | 久久亚洲私人国产精品 | 国产精品mv | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲精品美女久久久久 | 日本91在线 | 免费看三级网站 | 黄色一级大片免费看 | 欧美激情h | 丁香五月网久久综合 | 久草在线观 | 三级大片网站 | av免费在线网站 | 美女视频黄免费的久久 | 久草.com| 中文字幕久久久精品 | 黄色片网站av | 免费观看特级毛片 | 国产日韩欧美在线一区 | 在线 视频 一区二区 | 欧美色图30p| 日韩中文字幕免费电影 | 人人澡人人模 | 久久99深爱久久99精品 | 国产手机视频在线播放 | 日本精品二区 | 色中色亚洲 | 欧美另类xxxxx | 亚洲在线精品 | 18网站在线观看 | 国产成人精品亚洲日本在线观看 | 久久99国产综合精品 | 国产精品99久久久久人中文网介绍 | 黄色网免费| 色综合五月 | 婷婷国产在线观看 | 国产91在线观看 | 国产99久久久国产精品成人免费 | 欧美精品网站 | 九九九热精品免费视频观看 | 成人亚洲精品久久久久 | 97超碰人人模人人人爽人人爱 | 成人黄色视| 国产喷水在线 | 成人av电影免费观看 | 久青草视频在线观看 | 超碰在线公开免费 | 欧美91精品久久久久国产性生爱 | 亚洲精品在线网站 | 亚洲欧洲精品一区二区精品久久久 | 久久综合九色 | 国产理论在线 | 日本黄色大片免费 | 视频高清| 国产高清视频免费观看 | www.狠狠操 | 人人爽人人插 | 在线观看免费一区 | 在线观看视频97 | 夜夜操网站| 久久午夜精品影院一区 | 天天色 天天 | 天天天天天天操 | 免费在线观看视频a | 超碰在线人 | 国产中文字幕免费 | 美女搞黄国产视频网站 | 天天摸日日摸人人看 | 一区电影| 久草综合视频 | 色狠狠一区二区 | 国产视频精品网 | 欧美人人 | www.色婷婷 | av在线8| 色播六月天 | .国产精品成人自产拍在线观看6 | 欧美 国产 视频 | 日韩三级在线观看 | 成人网在线免费视频 | 国产亚洲人成网站在线观看 | 99九九99九九九视频精品 | 视频国产一区二区三区 | 国产亚洲视频中文字幕视频 | 国产九九九九九 | 91一区在线观看 | 欧美成人999 | 国产一级视频在线 | 国产专区视频在线观看 | 日韩欧美黄色网址 | 久草精品视频在线播放 | 久久精品国产免费看久久精品 | 在线播放精品一区二区三区 | 国产精品成人a免费观看 | 国产福利网站 | 成人动漫一区二区 | 在线视频 国产 日韩 | 国产高清永久免费 | 国产成本人视频在线观看 | 国产日韩欧美自拍 | 婷婷社区五月天 | 天天摸夜夜添 | 国产区 在线 | 在线国产能看的 | 少妇bbw撒尿| 黄色a一级片 | 亚洲传媒在线 | 精品亚洲视频在线观看 | 欧美精品三级在线观看 | 国产免费黄视频在线观看 | 久久涩涩网站 | 日本护士撒尿xxxx18 | 亚洲最大激情中文字幕 | 一级a性色生活片久久毛片波多野 | 国产九色在线播放九色 | 高清一区二区三区av | 久草www| 久久99热这里只有精品 | 日本高清久久久 | 午夜一级免费电影 | 97国产小视频 | 视频一区二区免费 | 国产精品扒开做爽爽的视频 | 久久久久伊人 | 一区二区激情视频 | 日韩欧三级 | 草久久久久久 | 国产99视频在线观看 | 欧美日韩国内在线 | 91福利视频免费观看 | 在线小视频国产 | 人人澡人人澡人人 | 久久久国产99久久国产一 | 特级毛片网 | 国产婷婷视频在线 | 在线观看黄色大片 | 看v片 | 久久综合一本 | 国产精品欧美在线 | 97超碰在线资源 | 日日爱夜夜爱 | 久久精品导航 | 三级av网站| 热99久久精品 | 久久人人97超碰国产公开结果 | 日韩在线观看高清 | 美女网站在线播放 | 麻豆影视在线播放 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产老太婆免费交性大片 | 在线观看av片 | 在线电影91| 在线观看黄色免费视频 | 久久成人免费 | 美女网站色免费 | 国产三级精品三级在线观看 | 久久精品最新 | 免费在线观看av电影 | 国产精品高清在线观看 | 亚洲最新视频在线播放 | 免费欧美 | 欧美日韩裸体免费视频 | 爱射综合| av免费观看网站 | 亚洲人成网站精品片在线观看 | 成人在线视频你懂的 | 狠狠色噜噜狠狠狠狠2021天天 | 久久久久久国产精品 | 久久久99精品免费观看乱色 | 亚洲高清国产视频 | 国产999精品久久久影片官网 | 欧美日韩亚洲国产一区 | 丁香婷婷激情啪啪 | 国产精品视频大全 | 日本字幕网| 色综合久久久久综合体 | 中文乱码视频在线观看 | 激情婷婷网 | 9797在线看片亚洲精品 | 日产乱码一二三区别在线 | 精品人妖videos欧美人妖 | 欧美色噜噜噜 | 亚洲激情五月 | 久久综合久久综合这里只有精品 | 天天狠狠操 | 成人a级网站 | 久久这里只精品 | 亚洲国产日韩欧美 | 免费国产在线观看 | 欧美日韩亚洲第一页 | 国产精品视频永久免费播放 | 国产福利不卡视频 | 婷婷丁香在线 | 伊人夜夜 | 一级片色播影院 | 三级黄色理论片 | 日韩av成人免费看 | 精品婷婷| 99国内精品| 美国人与动物xxxx | 中文国产字幕在线观看 | 99re6热在线精品视频 | 欧美国产日韩一区二区 | 欧美在一区| 91精品视频网站 | 国产 日韩 欧美 自拍 | 免费网站看av片 | 亚洲精品免费在线 | 亚洲国产综合在线 | 久久精品久久精品久久 | 97在线观看免费视频 | 精品福利在线 | 日韩欧美精品在线视频 | 天天操天天射天天操 | 91精品啪 | 欧美久久久久久久久久久久久 | 中文字幕视频在线播放 | 狠狠的干 | 一区二区视 | 亚洲人成网站精品片在线观看 | 国产精品二区三区 | 欧美激情综合网 | 国产又黄又爽又猛视频日本 | 日日插日日干 | 国产成人精品免费在线观看 | 91在线观看视频网站 | 久久伦理电影 | 超碰公开在线 | 五月天天在线 | 激情综合久久 | 视频在线99re | 国产精品一区二区三区免费看 | 欧美精品中文在线免费观看 | 久久爽久久爽久久av东京爽 | 国产亚洲精品bv在线观看 | 手机看片99| 日韩欧美网站 | 国产粉嫩在线观看 | 91亚洲精品国产 | 成人免费中文字幕 | 久草国产在线 | av网站在线观看免费 | 日韩精品久久一区二区三区 | 国产这里只有精品 | 亚洲成人精品影院 | 一区二区三区四区不卡 | 精品 一区 在线 | 日韩欧在线 | 天堂av高清| 丁香婷婷社区 | av黄色免费网站 | 国产精品入口麻豆www | 婷婷在线免费观看 | 久久久久久久免费观看 | 西西444www| 国内毛片毛片 | 久久视频精品在线 | 天天色 天天 | 综合久久综合久久 | 日日操日日干 | 日韩一区在线免费观看 | 日韩va欧美va亚洲va久久 | av片在线观看 | 免费看的黄色 | 久久精品国产v日韩v亚洲 | 国产无套精品久久久久久 | 国产二区免费视频 | 一区二区中文字幕在线 | 欧美激情精品久久久久久变态 | 欧洲亚洲精品 | 久久亚洲精品电影 | 国模视频一区二区 | 天天爱天天舔 | 欧美一二三区在线播放 | 国产精品久久久久久久久久久免费 | 亚洲一区视频免费观看 | 日韩视频 一区 | 六月色婷婷 | 在线免费黄 | 在线免费观看国产精品 | 一区二区视频电影在线观看 | 日本字幕网 | 久草男人天堂 | 久久久免费视频播放 | 国产精品国产精品 | 粉嫩av一区二区三区四区在线观看 | www国产亚洲精品久久网站 | 在线观看免费福利 | 国产婷婷精品 | 国产精品黑丝在线观看 | 91视频免费国产 | 国产精品久久久久久久av电影 | 日韩精品在线免费观看 | av电影中文字幕在线观看 | 欧美另类sm图片 | 国产麻豆果冻传媒在线观看 | 国产欧美综合在线观看 | 久久久久久草 | 日韩精品一区二区三区免费观看视频 | 波多野结依在线观看 | 97超碰人人模人人人爽人人爱 | 伊人亚洲综合网 | 日韩电影在线视频 | 国产成人香蕉 | 玖玖玖影院 | 97**国产露脸精品国产 | 久久久久久久久久久久亚洲 | 天天操伊人| 97超碰资源网| 欧美日韩中文字幕在线视频 | 美女福利视频一区二区 | 精品国产一区二区三区不卡 | 色wwww| 国产成人精品一区二区三区福利 | 在线а√天堂中文官网 | 亚洲春色综合另类校园电影 | 久久a热6 | 看毛片网站 | 99高清视频有精品视频 | 久草国产在线观看 | 亚洲第二色 | 99国产一区二区三精品乱码 | 在线观看视频在线观看 | 黄网av在线 | 日韩丝袜在线观看 | 五月婷婷av在线 | www.夜夜夜| 免费观看全黄做爰大片国产 | 亚洲视频999 | 五月婷婷色丁香 | 伊人久久国产 | 久久人人爽人人片 | 亚洲精品国产精品国自产在线 | 欧美极品xxxxx | 激情欧美在线观看 | 欧美在线视频不卡 | 伊人中文网 | 在线观看中文字幕亚洲 | 高清国产午夜精品久久久久久 | 国产精品第54页 | 国内精品久久久久久久97牛牛 | 国产午夜麻豆影院在线观看 | 亚洲一本视频 | 六月婷婷久香在线视频 | av片一区 | 久久久精品成人 | 亚洲视频在线观看 | 精品久久久久免费极品大片 | 免费成人在线电影 | 午夜影院一级片 | 免费日韩视 | av免费看在线 | 日韩一级片观看 | 国产对白av | 九九视频免费在线观看 | av中文字幕在线看 | 99精品免费视频 | 久久这里只有精品视频99 | 色婷婷av一区二 | 成人av影院在线观看 | 永久免费精品视频 | 中文伊人 | 黄色一级免费网站 | 日韩va亚洲va欧美va久久 | 亚洲一区免费在线 | 国产在线观看午夜 | 国产精品av免费在线观看 | 国产日韩精品欧美 | 免费一级特黄毛大片 | 日韩成人免费观看 | 人人玩人人添人人 | 日韩成人看片 | 亚洲午夜久久久久 | 国产午夜精品一区二区三区 | 日韩一区视频在线 | av免费在线免费观看 | 99精品免费久久久久久日本 | 中文字幕在线播出 | 欧美国产大片 | 亚洲高清资源 | 亚洲一二区精品 | 伊人成人精品 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 成人资源在线播放 | 欧美久久久久久久久 | 亚洲成人软件 | 日韩精品中文字幕在线 | 久久综合久色欧美综合狠狠 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 久久综合天天 | 欧美精品久久久久久久久老牛影院 | 欧美日韩激情网 | 在线a人v观看视频 | 99热最新精品 | 婷婷久久丁香 | 五月天综合在线 | 黄色精品一区 | 亚洲资源在线 | 国产视频一区在线播放 | 黄色精品在线看 | 成人理论电影 | 在线久久 | 少妇性bbb搡bbb爽爽爽欧美 | 亚洲久草在线 | 天天综合网在线观看 | 国产不卡精品 | 天天鲁天天干天天射 | 日韩精品久久久久久久电影99爱 | 天天曰夜夜操 | 久久国产精品99久久久久 | 亚洲国产成人精品久久 | 久久综合给合久久狠狠色 | 涩涩成人在线 | 九九热在线观看视频 | 久久久久久网站 | 欧美99精品 | 99在线精品视频 | 日韩欧美网址 |