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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

TensorRT(2)-基本使用:mnist手写体识别

發(fā)布時(shí)間:2024/9/27 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorRT(2)-基本使用:mnist手写体识别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

結(jié)合 tensorRT官方給出的一個(gè)例程,介紹tensorRT的使用。

這個(gè)例程是mnist手寫(xiě)體識(shí)別。例程位于目錄:?/usr/src/tensorrt/samples/sampleMNIST

文件結(jié)構(gòu):

1

2

3

4

5

tensorrt/samples/sampleMNIST

-common.cpp

-common.h

-Makefile

-sampleMNIST.cpp

主要是?sampleMNIST.cpp?文件,?common.cpp?文件主要提供 讀取文件的函數(shù)和 Logger對(duì)象。

main

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

#include <algorithm>

#include <assert.h>

#include <cmath>

#include <cuda_runtime_api.h>

#include <fstream>

#include <iostream>

#include <sstream>

#include <sys/stat.h>

#include <time.h>

#include "NvCaffeParser.h"

#include "NvInfer.h"

#include "common.h"

using namespace nvinfer1;

using namespace nvcaffeparser1;

//定義輸入輸出大小,創(chuàng)建Logger對(duì)象

//Logger是一個(gè)日志類(lèi),在common.h文件中定義

static Logger gLogger;

// Attributes of MNIST Caffe model

static const int INPUT_H = 28;

static const int INPUT_W = 28;

static const int OUTPUT_SIZE = 10;

//指定輸入輸出blob,和資源文件夾

const char* INPUT_BLOB_NAME = "data";

const char* OUTPUT_BLOB_NAME = "prob";

const std::vector<std::string> directories{"data/samples/mnist/", "data/mnist/"};

//查找文件

std::string locateFile(const std::string& input)

{

return locateFile(input, directories);

}

//讀取圖片

// Simple PGM (portable greyscale map) reader

void readPGMFile(const std::string& fileName, uint8_t buffer[INPUT_H * INPUT_W])

{

readPGMFile(fileName, buffer, INPUT_H, INPUT_W);

}

………………

………………

int main(int argc, char** argv)

{

if (argc > 1)

{

std::cout << "This sample builds a TensorRT engine by importing a trained MNIST Caffe model.\n";

std::cout << "It uses the engine to run inference on an input image of a digit.\n";

return EXIT_SUCCESS;

}

// Create TRT model from caffe model and serialize it to a stream

// 創(chuàng)建tensorRT流對(duì)象 trtModelStream,這個(gè)就跟文件流中的 ifstream 是類(lèi)似的。

// trtModelStream是一塊內(nèi)存區(qū)域,用于保存序列化的plan文件。

IHostMemory* trtModelStream{nullptr};

//1. build階段:調(diào)用caffeToTRTModel函數(shù),傳入caffe模型文件和權(quán)值文件,創(chuàng)建 Ibuilder對(duì)象,調(diào)用模型解析函數(shù),

//生成的plan文件保存在 gieModelStream 中

caffeToTRTModel("mnist.prototxt", "mnist.caffemodel", std::vector<std::string>{OUTPUT_BLOB_NAME}, 1, trtModelStream);

assert(trtModelStream != nullptr);

// 隨機(jī)讀取一張圖片

// Read a random digit file

srand(unsigned(time(nullptr)));

uint8_t fileData[INPUT_H * INPUT_W];

const int num = rand() % 10;

readPGMFile(locateFile(std::to_string(num) + ".pgm", directories), fileData);

//將原始圖片中的像素用二進(jìn)制文本 “.:-=+*#%@”來(lái)輸出

// Print ASCII representation of digit

std::cout << "\nInput:\n" << std::endl;

for (int i = 0; i < INPUT_H * INPUT_W; i++)

std::cout << (" .:-=+*#%@"[fileData[i] / 26]) << (((i + 1) % INPUT_W) ? "" : "\n");

// 加載均值文件,將讀取的圖片統(tǒng)一減去平均值。

// Parse mean file

ICaffeParser* parser = createCaffeParser();

IBinaryProtoBlob* meanBlob = parser->parseBinaryProto(locateFile("mnist_mean.binaryproto", directories).c_str());

parser->destroy();

// Subtract mean from image

const float* meanData = reinterpret_cast<const float*>(meanBlob->getData());

float data[INPUT_H * INPUT_W];

for (int i = 0; i < INPUT_H * INPUT_W; i++)

data[i] = float(fileData[i]) - meanData[i];

meanBlob->destroy();

// Deserialize engine we serialized earlier

// 創(chuàng)建運(yùn)行時(shí)環(huán)境 IRuntime對(duì)象,傳入 gLogger 用于打印信息

IRuntime* runtime = createInferRuntime(gLogger);

assert(runtime != nullptr);

ICudaEngine* engine = runtime->deserializeCudaEngine(trtModelStream->data(), trtModelStream->size(), nullptr);

assert(engine != nullptr);

trtModelStream->destroy();

//創(chuàng)建上下文環(huán)境,主要用于inference 函數(shù)中啟動(dòng)cuda核

IExecutionContext* context = engine->createExecutionContext();

assert(context != nullptr);

//2.deploy 階段:調(diào)用 doInference 函數(shù),進(jìn)行推理過(guò)程

// Run inference on input data

float prob[OUTPUT_SIZE];

doInference(*context, data, prob, 1);

//銷(xiāo)毀無(wú)用對(duì)象

// Destroy the engine

context->destroy();

engine->destroy();

runtime->destroy();

//輸出分類(lèi)結(jié)果

// Print histogram of the output distribution

std::cout << "\nOutput:\n\n";

float val{0.0f};

int idx{0};

for (unsigned int i = 0; i < 10; i++)

{

val = std::max(val, prob[i]);

if (val == prob[i]) idx = i;

std::cout << i << ": " << std::string(int(std::floor(prob[i] * 10 + 0.5f)), '*') << "\n";

}

std::cout << std::endl;

return (idx == num && val > 0.9f) ? EXIT_SUCCESS : EXIT_FAILURE;

}

實(shí)際上從第93行創(chuàng)建 IRuntime對(duì)象時(shí),就可以認(rèn)為是屬于deploy了。

最后輸出是這樣的:讀進(jìn)一張9,輸出一個(gè)結(jié)果:

正在上傳…重新上傳取消

其中最重要的兩個(gè)函數(shù) caffeToTRTModel( ) 和 doInference( )分別完成的是build和deploy的功能。

Build Phase

正在上傳…重新上傳取消

將Caffe model 轉(zhuǎn)換為 TensorRT object,首先使用其他深度學(xué)習(xí)框架訓(xùn)練好模型,然后丟進(jìn)tensorRT優(yōu)化器中進(jìn)行優(yōu)化,優(yōu)化后會(huì)產(chǎn)生一個(gè)文件,這個(gè)文件可以認(rèn)為是優(yōu)化后的模型,接著使用序列化方法將這個(gè)優(yōu)化好后的模型存儲(chǔ)在磁盤(pán)上,存儲(chǔ)到磁盤(pán)上的文件稱(chēng)為?plan file

這個(gè)階段需要給tensorRT提供兩個(gè)文件,分別是

  • 網(wǎng)絡(luò)模型文件(比如,caffe的deploy.prototxt)
  • 訓(xùn)練好的權(quán)值文件(比如,caffe的net.caffemodel)

除此之外,還需要明確 batch size,并指明輸出層。

mnist例程中的caffe模型解析代碼:標(biāo)志是創(chuàng)建 IBuilder對(duì)象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

// 解析caffemodel到tensorrt

void caffeToTRTModel(const std::string& deployFile, // Path of Caffe prototxt file

const std::string& modelFile, // Path of Caffe model file

const std::vector<std::string>& outputs, // Names of network outputs

unsigned int maxBatchSize, // Note: Must be at least as large as the batch we want to run with

IHostMemory*& trtModelStream) // Output buffer for the TRT model

{

// 1. Create builder

//創(chuàng)建一個(gè) IBuilder,傳進(jìn)gLogger參數(shù)是為了方便打印信息。

//builder 這個(gè)地方感覺(jué)像是使用了建造者模式。

IBuilder* builder = createInferBuilder(gLogger);

// Parse caffe model to populate network, then set the outputs

const std::string deployFpath = locateFile(deployFile, directories);

const std::string modelFpath = locateFile(modelFile, directories);

std::cout << "Reading Caffe prototxt: " << deployFpath << "\n";

std::cout << "Reading Caffe model: " << modelFpath << "\n";

//創(chuàng)建一個(gè) network對(duì)象,但是這個(gè)network對(duì)象只是一個(gè)空架子,里面的屬性還沒(méi)有具體的數(shù)值。

INetworkDefinition* network = builder->createNetwork();

//創(chuàng)建一個(gè)caffe模型解析對(duì)象,parser,并調(diào)用解析函數(shù),填充network對(duì)象,

//將caffe模型中的blob解析為tensorRT中的tensor,賦給blob_name_to_tensor變量。

//此處使用了模型文件和權(quán)值文件。

ICaffeParser* parser = createCaffeParser();

const IBlobNameToTensor* blobNameToTensor = parser->parse(deployFpath.c_str(),

modelFpath.c_str(),

*network,

DataType::kFLOAT);

//標(biāo)記輸出blob.

// Specify output tensors of network

for (auto& s : outputs)

network->markOutput(*blobNameToTensor->find(s.c_str()));

// 設(shè)置batch size;設(shè)置工作空間 size。

builder->setMaxBatchSize(maxBatchSize);

builder->setMaxWorkspaceSize(1 << 20);

// 2.Build engine

//使用network創(chuàng)建 CudaEngine,優(yōu)化方法在這里執(zhí)行。

//至此,caffe模型已轉(zhuǎn)換為tensorRT object。

ICudaEngine* engine = builder->buildCudaEngine(*network);

assert(engine);

//銷(xiāo)毀沒(méi)用的network對(duì)象和parser對(duì)象。

// Destroy parser and network

network->destroy();

parser->destroy();

//將轉(zhuǎn)換好的tensorRT object序列化到內(nèi)存中,trtModelStream是一塊內(nèi)存空間。

//這里也可以序列化到磁盤(pán)中。

// Serialize engine and destroy it

trtModelStream = engine->serialize();

//銷(xiāo)毀無(wú)用對(duì)象

engine->destroy();

builder->destroy();

//關(guān)閉protobuf庫(kù)

shutdownProtobufLibrary();

}

Deploy Phase

正在上傳…重新上傳取消

Deploy 階段需要文件如下:

  • 標(biāo)簽文件(這個(gè)主要是將模型產(chǎn)生的數(shù)字標(biāo)號(hào)分類(lèi),與真實(shí)的名稱(chēng)對(duì)應(yīng)起來(lái)),不過(guò)這個(gè)例子中就不需要了,因?yàn)镸NIST的真實(shí)分類(lèi)就是數(shù)字標(biāo)號(hào)。

Deploy 階段可以認(rèn)為從主函數(shù)中就已經(jīng)開(kāi)始了。標(biāo)志是創(chuàng)建 IRuntime 對(duì)象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

int main(int argc, char** argv)

{

………………

………………

// Deserialize engine we serialized earlier

// 創(chuàng)建運(yùn)行時(shí)環(huán)境 IRuntime對(duì)象,傳入 gLogger 用于打印信息

IRuntime* runtime = createInferRuntime(gLogger);

assert(runtime != nullptr);

ICudaEngine* engine = runtime->deserializeCudaEngine(trtModelStream->data(), trtModelStream->size(), nullptr);

assert(engine != nullptr);

trtModelStream->destroy();

//創(chuàng)建上下文環(huán)境,主要用于inference 函數(shù)中啟動(dòng)cuda核

IExecutionContext* context = engine->createExecutionContext();

assert(context != nullptr);

//2.deploy 階段:調(diào)用 inference 函數(shù),進(jìn)行推理過(guò)程

// Run inference on input data

float prob[OUTPUT_SIZE];

doInference(*context, data, prob, 1);

………………

………………

}

其中 doInference函數(shù)的詳細(xì)內(nèi)容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

void doInference(IExecutionContext& context, float* input, float* output, int batchSize)

{

//使用傳進(jìn)來(lái)的context恢復(fù)engine。

const ICudaEngine& engine = context.getEngine();

//engine.getNbBindings()是為了獲取與這個(gè)engine相關(guān)的輸入輸出tensor的數(shù)量。

//這個(gè)地方,輸入+輸出 總共就2個(gè),所以做個(gè)驗(yàn)證。

// Pointers to input and output device buffers to pass to engine.

// Engine requires exactly IEngine::getNbBindings() number of buffers.

assert(engine.getNbBindings() == 2);

//void* 型數(shù)組,主要用于下面GPU開(kāi)辟內(nèi)存。

void* buffers[2];

//獲取與這個(gè)engine相關(guān)的輸入輸出tensor的索引。

// In order to bind the buffers, we need to know the names of the input and output tensors.

// Note that indices are guaranteed to be less than IEngine::getNbBindings()

const int inputIndex = engine.getBindingIndex(INPUT_BLOB_NAME);

const int outputIndex = engine.getBindingIndex(OUTPUT_BLOB_NAME);

//為輸入輸出tensor開(kāi)辟顯存。

// Create GPU buffers on device

CHECK(cudaMalloc(&buffers[inputIndex], batchSize * INPUT_H * INPUT_W * sizeof(float)));

CHECK(cudaMalloc(&buffers[outputIndex], batchSize * OUTPUT_SIZE * sizeof(float)));

//創(chuàng)建cuda流,用于管理數(shù)據(jù)復(fù)制,存取,和計(jì)算的并發(fā)操作

// Create stream

cudaStream_t stream;

CHECK(cudaStreamCreate(&stream));

//從內(nèi)存到顯存,從CPU到GPU,將輸入數(shù)據(jù)拷貝到顯存中

//input是讀入內(nèi)存中的數(shù)據(jù);buffers[inputIndex]是顯存上的存儲(chǔ)區(qū)域,用于存放輸入數(shù)據(jù)

// DMA input batch data to device, infer on the batch asynchronously, and DMA output back to host

CHECK(cudaMemcpyAsync(buffers[inputIndex], input, batchSize * INPUT_H * INPUT_W * sizeof(float), cudaMemcpyHostToDevice, stream));

//啟動(dòng)cuda核,異步執(zhí)行推理計(jì)算

context.enqueue(batchSize, buffers, stream, nullptr);

//從顯存到內(nèi)存,將計(jì)算結(jié)果拷貝回內(nèi)存中

//output是內(nèi)存中的存儲(chǔ)區(qū)域;buffers[outputIndex]是顯存中的存儲(chǔ)區(qū)域,存放模型輸出.

CHECK(cudaMemcpyAsync(output, buffers[outputIndex], batchSize * OUTPUT_SIZE * sizeof(float), cudaMemcpyDeviceToHost, stream));

//這個(gè)是為了同步不同的cuda流。

cudaStreamSynchronize(stream);

//銷(xiāo)毀流對(duì)象和釋放顯存

// Release stream and buffers

cudaStreamDestroy(stream);

CHECK(cudaFree(buffers[inputIndex]));

CHECK(cudaFree(buffers[outputIndex]));

}

輔助函數(shù)

用到 common.cpp 文件中的輔助函數(shù):locateFile( ) 和 readPGMFile( )

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

#include "common.h"

// Locate path to file, given its filename or filepath suffix and possible dirs it might lie in

// Function will also walk back MAX_DEPTH dirs from CWD to check for such a file path

//查找文件

inline std::string locateFile(const std::string& filepathSuffix, const std::vector<std::string>& directories)

{

const int MAX_DEPTH{10};

bool found{false};

std::string filepath;

for (auto& dir : directories)

{

filepath = dir + filepathSuffix;

for (int i = 0; i < MAX_DEPTH && !found; i++)

{

std::ifstream checkFile(filepath);

found = checkFile.is_open();

if (found) break;

filepath = "../" + filepath; // Try again in parent dir

}

if (found)

{

break;

}

filepath.clear();

}

if (filepath.empty()) {

std::string directoryList = std::accumulate(directories.begin() + 1, directories.end(), directories.front(),

[](const std::string& a, const std::string& b) { return a + "\n\t" + b; });

throw std::runtime_error("Could not find " + filepathSuffix + " in data directories:\n\t" + directoryList);

}

return filepath;

}

//讀取圖片

inline void readPGMFile(const std::string& fileName, uint8_t* buffer, int inH, int inW)

{

std::ifstream infile(fileName, std::ifstream::binary);

assert(infile.is_open() && "Attempting to read from a file that is not open.");

std::string magic, h, w, max;

infile >> magic >> h >> w >> max;

infile.seekg(1, infile.cur);

infile.read(reinterpret_cast<char*>(buffer), inH * inW);

}

日志類(lèi)

common.h文件中有個(gè)日志類(lèi):?class Logger : public nvinfer1::ILogger

這是一個(gè)日志類(lèi),繼承自?nvinfer1::ILogger

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

// Logger for TensorRT info/warning/errors

class Logger : public nvinfer1::ILogger

{

public:

Logger(): Logger(Severity::kWARNING) {}

Logger(Severity severity): reportableSeverity(severity) {}

void log(Severity severity, const char* msg) override

{

// suppress messages with severity enum value greater than the reportable

if (severity > reportableSeverity) return;

switch (severity)

{

case Severity::kINTERNAL_ERROR: std::cerr << "INTERNAL_ERROR: "; break;

case Severity::kERROR: std::cerr << "ERROR: "; break;

case Severity::kWARNING: std::cerr << "WARNING: "; break;

case Severity::kINFO: std::cerr << "INFO: "; break;

default: std::cerr << "UNKNOWN: "; break;

}

std::cerr << msg << std::endl;

}

Severity reportableSeverity{Severity::kWARNING};

};

nvinfer1::ILogger?這個(gè)類(lèi)位于 tensorRT頭文件?NvInfer.h?中,此文件路徑:?/usr/include/x86_64-linux-gnu/NvInfer.h

把 ILogger 類(lèi)摘出來(lái):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

class ILogger

{

public:

//!

//! \enum Severity

//!

//! The severity corresponding to a log message.

//!

enum class Severity

{

kINTERNAL_ERROR = 0, //!< An internal error has occurred. Execution is unrecoverable.

kERROR = 1, //!< An application error has occurred.

kWARNING = 2, //!< An application error has been discovered, but TensorRT has recovered or fallen back to a default.

kINFO = 3 //!< Informational messages.

};

//!

//! A callback implemented by the application to handle logging messages;

//!

//! \param severity The severity of the message.

//! \param msg The log message, null terminated.

//!

virtual void log(Severity severity, const char* msg) = 0;

protected:

virtual ~ILogger() {}

};

可見(jiàn)這個(gè)類(lèi) 是 builder, engine and runtime 的一個(gè)日志接口,這個(gè)類(lèi)應(yīng)該以單例模式使用。即當(dāng)有多個(gè)IRuntime 和/或 IBuilder 對(duì)象時(shí),也只能使用同一個(gè)ILogger接口。

這個(gè)接口中有個(gè)枚舉類(lèi)?enum class Severity?定義了日志報(bào)告級(jí)別,分別為 kINTERNAL_ERROR,kERROR,kWARNING和kINFO;然后還有一個(gè)純虛函數(shù) log( ) ,用戶可以自定義這個(gè)函數(shù),以實(shí)現(xiàn)不同效果的打印。

比如common.h 文件中Logger類(lèi)的 log()函數(shù),就是根據(jù)不同的報(bào)告級(jí)別向標(biāo)準(zhǔn)錯(cuò)誤輸出流輸出帶有不同前綴的信息。這個(gè)地方是可以自己定義的,比如你可以設(shè)置為輸出信息到文件流然后把信息保存到txt文件中等。

以上就是使用tensorRT優(yōu)化MNIST的LeNet的一個(gè)簡(jiǎn)單的例子,其實(shí)對(duì)于mnist來(lái)說(shuō),使用tensorRT加速的意義不大,因?yàn)檫@個(gè)模型本來(lái)就比較小,這里使用這個(gè)例子主要是為了學(xué)習(xí)tensorRT的用法。

參考

  • http://wiki.jikexueyuan.com/project/java-design-pattern/builder-pattern.html
  • 史上最全設(shè)計(jì)模式導(dǎo)學(xué)目錄(完整版)
  • NVIDIA TensorRT | NVIDIA Developer
  • Deploying Deep Neural Networks with NVIDIA TensorRT
  • TensorRT Developer Guide
  • TensorRT C++ API
  • 總結(jié)

    以上是生活随笔為你收集整理的TensorRT(2)-基本使用:mnist手写体识别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    超碰成人免费电影 | 国产黄影院色大全免费 | www,黄视频 | 国产精品2区 | 香蕉久久久久久av成人 | 中日韩在线视频 | 美女久久精品 | 久草免费福利在线观看 | 精品视频网站 | a成人在线| 成人xxxx| 五月婷婷六月丁香 | 欧美性生活大片 | 国产精品成人aaaaa网站 | 国产中文在线观看 | 中文字幕免费国产精品 | 国产剧情av在线播放 | 国产麻豆成人传媒免费观看 | av一级片在线观看 | 成人小视频在线 | 免费在线成人av电影 | 免费在线看v | 日本特黄特色aaa大片免费 | 国产高清视频在线播放一区 | 啪啪小视频网站 | 亚洲视频观看 | 怡红院av久久久久久久 | 国产精品一区二区果冻传媒 | 中文在线中文a | 国产白浆在线观看 | 久久成人毛片 | 九九热1 | 欧美日韩激情视频8区 | 日韩中文字幕免费在线播放 | 国产精品一区一区三区 | 国产一区视频在线观看免费 | 四虎在线观看视频 | 三级av片| 欧美激情综合五月色丁香 | av在线中文 | 国产亚洲精品v | 伊人影院得得 | 色综合久久综合中文综合网 | 久久色视频 | 在线观看岛国av | 激情婷婷av | 最近中文字幕免费av | 日b视频国产 | 久久a v视频 | 在线观看亚洲专区 | 六月激情网| 婷婷在线观看视频 | 成人小电影在线看 | 在线观看免费一区 | 亚洲视频在线播放 | 久久在线视频精品 | 91精品第一页 | www.99在线观看 | 欧洲性视频 | 久久久穴 | 成人精品影视 | 亚洲,播放 | 夜色成人av| 91pony九色丨交换 | 在线免费日韩 | 奇人奇案qvod | 韩国一区二区三区在线观看 | 97视频在线观看播放 | 天天干,天天操,天天射 | 香蕉免费在线 | 欧美日韩视频免费 | 日本深夜福利视频 | 国内精品久久久久久久影视麻豆 | 伊人狠狠操 | 成人福利av | 99精品免费久久久久久久久 | 四虎成人免费影院 | 国内精品久久久久久 | 亚洲日本va在线观看 | 久久久久久高潮国产精品视 | 51久久成人国产精品麻豆 | 99视频导航| 日韩成人免费电影 | 国产视频久久久久 | 久草在线视频免赞 | 99国产一区二区三精品乱码 | 国产又黄又爽又猛视频日本 | www.69xx| 国内免费久久久久久久久久久 | 国产手机在线播放 | 高清不卡一区二区三区 | 色婷婷在线视频 | 97在线视频免费看 | 99热这里只有精品1 av中文字幕日韩 | 麻豆一区二区三区视频 | 日本bbbb摸bbbb | 欧美a在线免费观看 | 尤物97国产精品久久精品国产 | 99九九99九九九视频精品 | 国产欧美在线一区二区三区 | 一区二区观看 | 国产成人一区二区三区在线观看 | 中文字幕视频一区二区 | 国产在线97 | 91视频免费看网站 | 九九色网 | 久久avav | 日韩av区 | 不卡中文字幕在线 | 久久久久久久久毛片精品 | 精品无人国产偷自产在线 | 欧美日本国产在线观看 | 久操中文字幕在线观看 | www.伊人网| 日韩免费网址 | 久久久99精品免费观看app | 久久中文网 | 久久久久国产精品免费网站 | 91香蕉国产| 日韩a级免费视频 | 一区二区三区日韩在线观看 | 337p日本欧洲亚洲大胆裸体艺术 | 欧美日韩精品区 | 国产婷婷| 日韩久久精品一区二区三区下载 | 国产精品情侣视频 | 在线观看日韩免费视频 | 成人亚洲精品久久久久 | 欧美日性视频 | 国产精品男女 | 久久亚洲在线 | 曰本免费av| 国产h在线播放 | 国产无遮挡猛进猛出免费软件 | 日韩av资源在线观看 | 日本成人a | 成人一级片视频 | 91亚洲在线 | 国产精品乱码在线 | av中文字幕在线看 | 国产 一区二区三区 在线 | 人人插超碰| 最新av网址在线观看 | 久久理论影院 | 在线日韩中文 | 久草久热 | 久久中文欧美 | 超碰人人超 | 久草精品视频在线播放 | 国产999精品久久久久久麻豆 | 国产一区成人在线 | 99在线视频免费观看 | 激情六月婷婷久久 | 综合网伊人 | 六月激情网 | 久久久www成人免费毛片 | 在线看一级片 | 成年人视频在线 | 二区三区在线观看 | 在线电影日韩 | 国产在线不卡 | 久久国产区 | 91福利区一区二区三区 | 久久综合色综合88 | 一区二区免费不卡在线 | 国产精彩视频一区二区 | 免费视频区 | 四虎在线观看网址 | 日韩羞羞| 深爱婷婷 | 亚洲精品国产精品乱码在线观看 | 在线日本看片免费人成视久网 | 日本中文字幕在线一区 | 国产专区在线播放 | 一本一道久久a久久综合蜜桃 | 国产精品久久久99 | 天天射天| 毛片网站在线看 | 久久久黄色免费网站 | 91传媒在线看 | a亚洲视频 | 免费黄色网址大全 | 综合婷婷丁香 | 夜夜视频资源 | 正在播放国产一区 | 日韩中出在线 | 一本到在线 | 丝袜av网站 | 国产精品一区二区精品视频免费看 | 国产在线精品播放 | 激情伊人五月天久久综合 | 免费看特级毛片 | 国产精品久久久区三区天天噜 | 国产男女免费完整视频 | 91自拍视频在线观看 | 91精品视频在线免费观看 | 中文理论片| 国产男女无遮挡猛进猛出在线观看 | 国产成人精品电影久久久 | 91夫妻自拍| 免费99精品国产自在在线 | 久草男人天堂 | 国产情侣一区 | 91精品视频免费观看 | 亚洲理论在线观看电影 | 8x8x在线观看视频 | 欧美日韩视频 | 好看的国产精品视频 | 精品久久久一区二区 | 天天操天天射天天 | 欧美精品久久久久性色 | av中文天堂在线 | 日韩久久激情 | 97人人添人澡人人爽超碰动图 | 精品国产欧美一区二区 | 国产二区精品 | 欧美黄色软件 | 成人小视频在线 | 日韩xxxx视频| 激情欧美丁香 | 97天堂网 | 国产一级a毛片视频爆浆 | av三区在线 | 视频在线一区二区三区 | 午夜精品福利一区二区三区蜜桃 | 香蕉视频在线看 | 粉嫩av一区二区三区入口 | 91av在线免费视频 | 中文字幕在线观看一区 | 久艹在线免费观看 | 成人网在线免费视频 | 亚洲综合在线五月 | 免费久久久 | 又黄又刺激视频 | 国产精品自拍在线 | 国产欧美日韩精品一区二区免费 | 4hu视频 | 亚洲成人黄色在线观看 | 24小时日本在线www免费的 | 97av在线视频免费播放 | 四虎8848免费高清在线观看 | 中文字幕国产一区 | 亚洲国内精品视频 | 亚洲精品短视频 | 亚洲性少妇性猛交wwww乱大交 | 亚洲黄色一级电影 | 欧美精品一区二区免费 | 国产专区在线 | 激情电影在线观看 | 久久人人爽爽 | 精品国产欧美一区二区三区不卡 | 中文资源在线官网 | 一级久久精品 | 欧美成人亚洲成人 | 黄色亚洲精品 | 狠狠色2019综合网 | 韩日三级av | 福利二区视频 | 婷婷激情欧美 | 国产一性一爱一乱一交 | 亚洲国产黄色片 | 国产精品久久久久久久久久免费看 | 久久久69 | 色婷婷激情五月 | 黄www在线观看 | 香蕉影视在线观看 | 天天干天天操天天干 | av在线一级 | 日韩免费一级电影 | 日日爱网址 | 久久精品视频18 | 欧洲亚洲激情 | 91毛片在线| 国产精品资源在线观看 | 国产精品日韩在线播放 | 91麻豆精品国产91久久久无限制版 | 毛片1000部免费看 | 精品亚洲国产视频 | 丁香六月综合网 | 一级a毛片高清视频 | 国产一区视频免费在线观看 | 国产精品一区二区三区视频免费 | 91在线九色 | 日韩av免费在线电影 | 中文字幕免费观看全部电影 | 91入口在线观看 | 91九色性视频 | 久草网免费 | 成人a大片 | 天天干天天做 | 成人亚洲精品国产www | 国产午夜一区二区 | 在线国产能看的 | 十八岁以下禁止观看的1000个网站 | 91av在线免费播放 | 亚洲精品久久久久中文字幕二区 | 国产成人91 | 日韩二区在线 | 公与妇乱理三级xxx 在线观看视频在线观看 | 国产精品女人久久久 | 国内精品久久久久久久久 | 日韩精品一区在线播放 | 精品国产精品国产偷麻豆 | 日韩欧美在线综合网 | 九九免费在线观看 | 国产99久久久国产精品免费二区 | www.玖玖玖| 成人国产精品免费观看 | 丁香午夜婷婷 | 伊人久久婷婷 | 久久久久久久精 | 精品久久网 | 福利视频导航网址 | 天天干天天做 | 国产成在线观看免费视频 | 中文字幕在线色 | 香蕉久久久久久av成人 | www.色国产 | 亚洲高清免费在线 | 视频在线观看一区 | 久久黄色小说视频 | 久久久国产精品成人免费 | 成人网看片 | 九九热在线免费观看 | 久久久免费毛片 | 91看片在线 | 91污视频在线 | 超碰日韩在线 | 亚洲精品乱码久久久久 | 日日夜夜精品视频天天综合网 | 亚洲三级av | 免费在线国产精品 | 欧美性护士 | 婷婷六月网 | 亚洲精品久久激情国产片 | 中文字幕第一页在线视频 | 五月天国产 | 4p变态网欧美系列 | 成人91av| 亚洲成人欧美 | 久久久久综合 | 欧美资源在线观看 | 国产精品久久久久久爽爽爽 | av在线在线 | 日韩欧美网址 | 99在线观看视频网站 | 国产一区二区电影在线观看 | 国产91综合一区在线观看 | 亚洲精品国产综合99久久夜夜嗨 | 亚洲精品国产精品乱码在线观看 | 国产精品小视频网站 | 最近日本韩国中文字幕 | 狠狠色丁香婷婷综合 | 日韩超碰| 人人超在线公开视频 | 免费黄色a级毛片 | 亚洲国产精品成人精品 | 国产在线一线 | 精品国产伦一区二区三区观看体验 | 中文字幕 国产视频 | 婷婷丁香av | 日韩中文字幕免费看 | 日韩精品视频久久 | 日韩在线国产 | 黄色av成人在线 | 日韩免费在线看 | 国产一区二区三区在线 | 97国产在线播放 | 黄色1级毛片 | 91成人在线视频观看 | 亚洲精品视频网 | 成人黄色在线观看视频 | 日韩中文字幕视频在线 | 成人午夜黄色 | 98涩涩国产露脸精品国产网 | 成人一级片视频 | 亚洲国产美女久久久久 | 91av影视| 99久久一区| 久久tv| 国内三级在线 | 久久最新网址 | 成人午夜性影院 | 久久再线视频 | 日日爱网站 | 国产精品视频在线观看 | 国产一区二区高清视频 | 99精品在线播放 | 尤物一区二区三区 | 天天操天天弄 | 国产精品久久久久久久久久 | 97国产| 五月天六月色 | 国产精品 美女 | 五月天丁香综合 | av网站免费在线 | 免费在线观看国产精品 | 亚洲伊人色 | 日韩动漫免费观看高清完整版在线观看 | 精品国产一区二区三区久久久久久 | av综合 日韩 | 天天爽天天爽夜夜爽 | 午夜国产福利视频 | 亚洲年轻女教师毛茸茸 | 久久66热这里只有精品 | 999久久a精品合区久久久 | 久久婷婷久久 | 久久成人一区 | 国产又粗又猛又色又黄视频 | 欧女人精69xxxxxx | 日韩av午夜在线观看 | 九九久久久久99精品 | 中文av网站| 国产高清视频在线 | 久久精品视频在线观看免费 | 中文字幕国产亚洲 | 精品产品国产在线不卡 | 国产日产在线观看 | 亚洲经典视频 | 麻豆影视网 | 久久一区二区免费视频 | 97超碰精品 | 国产91av视频在线观看 | 国产精品日韩欧美一区二区 | 在线精品视频免费播放 | 久久久午夜精品理论片中文字幕 | 国产中文字幕在线视频 | 国产精品女人久久久久久 | 日日夜夜天天人人 | 国产一级淫片在线观看 | 欧美二区在线播放 | 黄av在线| 天天操狠狠操网站 | 日韩在线观看网址 | 超碰在线人人爱 | 久久黄色片子 | 国产91小视频 | 91三级在线观看 | 日韩国产精品久久 | 色播亚洲婷婷 | 午夜丰满寂寞少妇精品 | 一本一本久久a久久 | 狠狠五月天 | 成人久久视频 | 天天躁日日躁狠狠躁av麻豆 | 国产人成在线观看 | 国产精品美女久久久免费 | 欧美大香线蕉线伊人久久 | 天天色天天爱天天射综合 | a色视频| 久久久天堂 | 中文字幕在线视频精品 | 大荫蒂欧美视频另类xxxx | 国产二区av | 激情综合网五月婷婷 | 亚洲国产中文字幕 | 区一区二区三区中文字幕 | 久久综合色播五月 | 久久久www免费电影网 | 国产精品免费一区二区三区在线观看 | 欧美在线视频一区二区三区 | 午夜精品影院 | 久久国语| 国产在线不卡 | 黄网站www| a久久免费视频 | 日韩电影在线观看一区二区 | 在线看片一区 | 免费看三级黄色片 | 国产精品黄色 | 日韩sese | 91正在播放 | 成人影视免费看 | 久久久久久国产精品久久 | 成人黄色影片在线 | 亚洲精品xx | 最近日韩免费视频 | 色综合久久88色综合天天6 | 在线播放91| 黄色福利视频网站 | 亚洲天堂激情 | 久久在线影院 | 伊人狠狠色丁香婷婷综合 | 午夜 免费 | 久久久久久久久久毛片 | 欧美 亚洲 另类 激情 另类 | 欧美色综合天天久久综合精品 | 婷婷视频在线 | 亚洲日本色 | 91九色蝌蚪国产 | 国产精品自产拍在线观看桃花 | 国产成人精品999在线观看 | 免费黄在线观看 | 日韩中文字幕亚洲一区二区va在线 | 国产精品自在线拍国产 | 亚洲国产一区在线观看 | www.狠狠操 | 久久免费精品一区二区三区 | 欧美日韩后 | 久久久久成人精品免费播放动漫 | 久久久久女人精品毛片九一 | 99久久精品国产欧美主题曲 | 亚洲精品国产精品国自产在线 | 九九热在线精品 | 国产大尺度视频 | 一区三区视频在线观看 | 日本公乱妇视频 | 日韩欧美精品在线观看 | 亚洲欧美国内爽妇网 | 日韩久久精品一区二区三区 | 超级碰99 | 亚洲另类视频在线 | 国产在线免费 | 久久人人97超碰com | 国产精品综合久久久久 | 国产伦理久久 | 日韩久久久久久久久久久久 | 亚洲日本在线视频观看 | 免费看黄色91 | 成人在线一区二区 | 久久久国产精品视频 | 国产人成看黄久久久久久久久 | 蜜臀av性久久久久蜜臀av | 欧美日韩精品影院 | 国产精品二区在线观看 | 国产亚洲资源 | 久久国产精品视频免费看 | 中文字幕成人一区 | 国产一区二区久久精品 | 天天超碰 | 亚洲视频 一区 | 欧美一级片 | 97成人精品区在线播放 | 亚洲国内精品视频 | av电影在线不卡 | 特级毛片网| 亚洲三级性片 | 亚洲午夜久久久综合37日本 | 中文字幕在线视频精品 | 亚洲综合黄色 | 久久精品视频免费播放 | 欧美成人高清 | 又黄又网站 | 日韩欧美视频在线播放 | 亚洲精品国产综合久久 | 国产精品久久亚洲 | 久久玖 | 亚洲一级影院 | 狠狠干天天 | 色婷婷国产 | 日韩有码中文字幕在线 | 天堂av中文字幕 | 在线a视频 | 在线免费观看欧美日韩 | 成年人免费av| 精品一区二区综合 | 国产精品自产拍在线观看中文 | 五月激情丁香图片 | 999久久久欧美日韩黑人 | 超碰资源在线 | 国产91大片| 在线视频一二三 | 中文字幕黄色av | 久久99国产精品视频 | 色干干| 免费看91的网站 | 久草在线久 | 黄色av一区二区 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 99精品免费久久久久久久久 | 日本黄色一级电影 | 中文字幕丰满人伦在线 | 欧美精品中文在线免费观看 | 亚洲美女视频网 | 色多多视频在线观看 | 免费观看丰满少妇做爰 | 日韩区欧美久久久无人区 | 日韩在线精品视频 | 久久国产成人午夜av影院宅 | 亚洲人成人在线 | 国产精品专区在线观看 | 91精品入口| 激情欧美xxxx | 天天干天天干天天射 | 欧美日韩中文另类 | 色综合中文综合网 | 日韩视频中文字幕在线观看 | 91中文在线 | 久久99精品久久久久婷婷 | 99热国产在线中文 | 91精品视频一区 | 日韩免| 西西444www大胆无视频 | 久久99精品视频 | 91传媒在线观看 | 国产精品原创av片国产免费 | 日本99干网 | a久久久久| 婷婷久久五月天 | 亚洲综合网站在线观看 | 久热只有精品 | 婷婷资源站 | 久久 在线 | 国产一区二区三区网站 | 精品久久久久久亚洲 | 国产精品电影一区 | 天天色天天上天天操 | 欧美精品一区二区免费 | 狠狠gao| 99日韩精品| 中日韩在线视频 | 69国产盗摄一区二区三区五区 | 国产精品成人免费一区久久羞羞 | 亚洲精品黄色在线观看 | 久久成人国产精品一区二区 | 婷婷六月中文字幕 | 久久精品欧美一区二区三区麻豆 | 1024手机在线看 | 国际精品久久久久 | 国产香蕉在线 | 日黄网站 | 国产精品毛片一区二区在线 | 精品国产一区二区三区久久久蜜月 | 国产高清视频在线免费观看 | 973理论片235影院9 | 99精品黄色片免费大全 | 四虎影视成人永久免费观看视频 | 日韩二区三区在线 | 成人免费观看视频网站 | 久久6精品 | 在线观看黄a | 国产一级91 | 久99久精品视频免费观看 | 91免费试看 | 亚洲国产日韩欧美 | 黄色毛片在线看 | 婷婷在线色 | www.狠狠插.com | 狠狠做深爱婷婷综合一区 | 亚洲一级片免费观看 | 日韩成人免费在线观看 | 丁香激情综合久久伊人久久 | 91av久久 | 99热精品在线 | 久久久久久免费毛片精品 | 深夜免费福利在线 | 欧美日韩1区 | 婷婷丁香视频 | 国产尤物在线 | 人人狠 | 国产福利电影网址 | 久久久午夜剧场 | 肉色欧美久久久久久久免费看 | 亚洲欧美日韩国产一区二区三区 | 在线视频观看你懂的 | 五月婷婷黄色 | 奇米影视777影音先锋 | 国产精品视屏 | 免费无遮挡动漫网站 | 亚洲伊人网在线观看 | 亚洲国产成人精品在线观看 | 蜜臀av在线一区二区三区 | 精品国产乱码久久久久久1区二区 | 久久高清av| 青青啪 | 国产成人av在线影院 | 久一久久 | 久久高清免费观看 | 欧美有色 | 波多野结衣在线观看视频 | 久久国产精品视频 | 欧美国产不卡 | 欧美精品久久久久久久免费 | 国内成人精品视频 | www激情com | 中文字幕在线观看不卡 | 精品国产欧美一区二区 | 久久精品国产成人精品 | 97超碰资源总站 | 欧美日韩亚洲第一 | 亚洲aaa毛片 | 97超碰人人爱 | 中文免费观看 | 欧美激情综合色综合啪啪五月 | 成人免费视频网站在线观看 | 国产免费中文字幕 | 99re视频在线观看 | 中文字幕人成乱码在线观看 | 国内一级片在线观看 | 日韩三级精品 | 成人免费一区二区三区在线观看 | 久久精品国产一区二区电影 | 国产亚洲日| av中文字幕不卡 | 久久激情日本aⅴ | 黄色软件在线观看 | 日韩av午夜在线观看 | 黄色中文字幕在线 | 伊人黄色网 | 日韩理论在线观看 | 成人免费观看大片 | 国产精品一码二码三码在线 | 91精品欧美一区二区三区 | 久久久综合色 | 日韩在线观看的 | 最近2019年日本中文免费字幕 | 91在线小视频 | 久久视频这里有久久精品视频11 | 97超级碰碰碰视频在线观看 | 天天激情 | 超碰97免费在线 | 丁香五香天综合情 | 激情视频一区 | 日韩另类在线 | 欧美久久久久久久久久 | 久久在草 | 色视频国产直接看 | 最近中文字幕免费av | 99久热在线精品视频成人一区 | 91一区二区三区久久久久国产乱 | 一区二区三区四区久久 | 国内精品毛片 | 在线视频 你懂得 | 色999五月色| 福利久久 | 99久热在线精品视频观看 | 丁香花五月 | 中文字幕在线人 | 欧美国产精品久久久久久免费 | 中文字幕欲求不满 | 久久中文字幕在线视频 | 超级碰碰碰免费视频 | 国产精品自产拍在线观看网站 | 99久久精品国产一区 | 黄色软件在线观看视频 | 国产午夜精品久久 | 一区二区视频在线看 | 日韩欧美视频 | 免费av在线网站 | 久久久国产精华液 | 日产乱码一二三区别在线 | 久久久精品国产免费观看同学 | 91中文在线 | 日韩免费视频网站 | 超碰97国产在线 | 韩国av一区二区三区 | 91精品久久久久久综合乱菊 | 在线亚洲午夜片av大片 | 亚洲 综合 激情 | 国产成人在线看 | 在线成人免费av | 国产精彩在线视频 | 国产精品字幕 | 国产中文在线播放 | 国内视频在线 | 国产精品久久久久久久7电影 | 久久久久久久久久久久亚洲 | 欧美亚洲精品在线观看 | 成人av高清 | 国产91在线播放 | 99精品国产99久久久久久福利 | 婷婷国产在线观看 | 欧美亚洲成人免费 | 九九热只有这里有精品 | 国产精品日韩在线观看 | 麻豆91小视频 | 日韩欧美国产精品 | 欧美亚洲免费在线一区 | 丁香六月婷婷开心 | 午夜成人免费电影 | 欧美日本啪啪无遮挡网站 | 国产精品原创在线 | 欧美va天堂在线电影 | 精品999久久久 | 黄色aaaaa| 国产婷婷色 | 精品91| 中文字幕丝袜制服 | 99久久婷婷国产综合亚洲 | 欧美性成人 | 色福利网 | 在线 日韩 av | 中国一级特黄毛片大片久久 | 夜添久久精品亚洲国产精品 | 国产欧美最新羞羞视频在线观看 | 欧美日韩国产色综合一二三四 | 日韩一区二区在线免费观看 | 日p视频在线观看 | 深夜免费福利网站 | 欧美日韩中字 | 日韩亚洲欧美中文字幕 | a黄在线观看 | 在线观看黄色的网站 | 久久成人免费视频 | 婷婷日 | 亚洲激情在线 | 深夜激情影院 | 狠狠狠色狠狠色综合 | 国产精品中文在线 | 婷婷射五月 | www亚洲精品| 日韩艹| 成年美女黄网站色大片免费看 | 麻豆网站免费观看 | 天天射天天干天天爽 | 精油按摩av| aaa黄色毛片| 91麻豆国产| 日韩区欧美久久久无人区 | 99综合影院在线 | 欧美人人 | 九九热免费在线视频 | 99精品福利| 九九精品久久久 | 999国内精品永久免费视频 | 五月天婷婷狠狠 | 狠狠久久婷婷 | 99久久精品无码一区二区毛片 | 少妇bbw揉bbb欧美 | 四虎在线观看精品视频 | 少妇按摩av | 国产偷国产偷亚洲清高 | 国产一级一级国产 | 性色av免费观看 | 日本公妇在线观看 | 欧美 高跟鞋交 xxxxhd | 欧美一级专区免费大片 | 国产免费观看久久 | 亚洲免费在线看 | 最新超碰| 久久99精品一区二区三区三区 | 成人一级视频在线观看 | 一区二区激情视频 | 一本—道久久a久久精品蜜桃 | 91精品综合在线观看 | 久久久国产精品人人片99精片欧美一 | 激情综合色综合久久 | 亚洲精品黄 | 97精品国自产拍在线观看 | 久久人人97超碰国产公开结果 | 成人免费视频网 | 69av在线视频| 日本电影黄色 | 97久久精品午夜一区二区 | 超碰精品在线观看 | 日韩色中色 | 久久草在线精品 | 天天干天天搞天天射 | 久久精品在线视频 | 国产色婷婷| 操操操日日日 | 国产丝袜美腿在线 | 国产视频91在线 | 日本性xxx | 日日天天 | 欧美日韩国产综合一区二区 | 久99精品 | 免费国产在线精品 | 亚洲成年人免费网站 | 午夜性福利 | 成人黄色小视频 | 天天操天天草 | 国产精品密入口果冻 | 欧美日韩久久不卡 | 激情av在线资源 | 国产区av在线 | 美女黄濒 | 国产一级做a爱片久久毛片a | 欧美日韩视频免费看 | 91久久在线观看 | 婷婷在线色 | 久久久黄色av| 日韩videos高潮hd | 在线免费黄色av | 97人人爽 | 天天操天天艹 | 久久狠狠干 | 中文字幕日韩精品有码视频 | 免费国产视频 | 91视频xxxx| 婷婷国产一区二区三区 | 99久热在线精品视频成人一区 | 免费日韩视| 成 人 黄 色 片 在线播放 | 在线 高清 中文字幕 | 亚洲欧洲精品一区二区 | 亚洲精品h | 91香蕉嫩草 | 九九久久国产精品 | 在线观看深夜视频 | 国产一级久久久 | 91精品国自产在线观看 | 18性欧美xxxⅹ性满足 | 日批视频在线观看免费 | 欧美污污网站 | 色婷婷国产精品一区在线观看 | 天天综合久久综合 | 欧美极品一区二区三区 | 色综合久久久久久久 | 日狠狠 | 在线一级片 | 中文字幕久久精品 | 久久婷婷丁香 | 久久精品久久精品久久精品 | 九九天堂 | 98超碰人人| 日韩免费av片 | 亚洲成人av电影 | av解说在线观看 | 激情五月婷婷激情 | 99国产精品一区二区 | se婷婷| v片在线看| 国产精品久久嫩一区二区免费 | 国产午夜精品理论片在线 | 国产色就色 | 午夜私人影院 | 亚洲成免费 | 国产在线观看你懂得 | 国产91学生| 黄色毛片网站在线观看 | 色婷婷九月 | 国产91在线 | 美洲 | 欧美一级小视频 | 在线视频a | 久久成人视屏 | 黄色大全免费网站 | 日韩在线高清 | 国产精品区免费视频 | 丰满少妇高潮在线观看 | 亚洲网久久| 六月婷婷久香在线视频 | 国产精品福利一区 | 亚洲欧美日韩在线一区二区 | 中文字幕av网站 | 欧美一区影院 | 四虎在线免费观看视频 | 97电影院在线观看 | 九九99| 国产亚洲视频在线 | 亚洲无线视频 | 欧美日韩视频在线观看一区二区 | 中文字幕在线观看一区二区三区 | 欧美有色 | 国产美腿白丝袜足在线av | 日本美女xx | 精品资源在线 | 黄色avwww | 久久久久免费电影 | 中文视频在线播放 | 麻豆视频免费网站 | 天天插狠狠干 | 久草97| 成人中文字幕在线观看 | 又粗又长又大又爽又黄少妇毛片 | 99色视频在线| 日韩理论片中文字幕 | a精品视频| 亚洲欧美怡红院 | 在线观看成人国产 | 国产一二区视频 | 最近中文字幕在线播放 | 久久草 | 激情五月婷婷激情 | 国产在线永久 | 成年人在线观看 | 中文字幕有码在线播放 | 日韩欧美电影 | 亚洲一区二区麻豆 | 91精品视频免费在线观看 | 一区二区三区精品久久久 | 日本视频不卡 | 一区二区三区高清在线 | 欧美日本三级 | 亚洲精品456在线播放 | 日本精a在线观看 | 国内精品二区 | 婷婷资源站 | 日韩大片在线播放 | 成年人视频在线观看免费 | 午夜精品久久久久久久爽 | 中文在线字幕免费观看 | 国内精品久久久久久久97牛牛 | 天天久久夜夜 | 国产高清在线精品 | 久久视频在线免费观看 | 国产精品一区在线观看你懂的 | 国产成人一二片 | 狠狠狠色 | 久草免费电影 | 中文av影院 | 成人在线视频免费观看 | 国产区精品 | 精品日本视频 | 正在播放国产一区 | 99视频黄| 91福利在线观看 | 成人午夜电影在线播放 |