亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ruseas.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
字號:
#include "csf.h"#include "csfimpl.h"static void UINT1tLdd(size_t nrCells, void *Buf){	size_t i;	UINT1 *buf = (UINT1 *)Buf;	for(i=0; i < (size_t)nrCells; i++)		if (buf[i] != MV_UINT1)		{			buf[i] %= (UINT1)10;			if (buf[i] == 0)				buf[i] = MV_UINT1;		}}static void INT2tLdd(size_t nrCells, void *Buf){	size_t i;	INT2  *inBuf  = (INT2  *)Buf;	UINT1 *outBuf = (UINT1 *)Buf;	for(i=0; i < (size_t)nrCells; i++)		if (inBuf[i] != MV_INT2)		{			outBuf[i] = (UINT1)(ABS(inBuf[i]) % 10);			if (outBuf[i] == 0)				outBuf[i] = MV_UINT1;		}		else			outBuf[i] = MV_UINT1;}#define TOBOOL(nr, buf, srcType)\{\	size_t i;\/* loop must be upward to prevent overwriting of values \ * not yet converted \ */ \ 	PRECOND(sizeof(srcType) >= sizeof(UINT1));\	for(i=0; i < (size_t)nr; i++)\		if (IS_MV_##srcType( ((srcType *)buf)+i) )\			((UINT1 *)buf)[i] = MV_UINT1;\		else\			((UINT1 *)buf)[i] = ((srcType *)buf)[i] != ZERO_##srcType;\}static void INT1tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, INT1); }static void INT2tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, INT2); }static void INT4tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, INT4); }static void UINT1tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, UINT1); }static void UINT2tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, UINT2); }static void UINT4tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, UINT4); }static void REAL4tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, REAL4); }static void REAL8tBoolean(size_t nrCells, void *buf){ TOBOOL(nrCells, buf, REAL8); }#define CONV_BIG_TO_SMALL(nr, buf, destType, srcType)\{\	size_t i;\/* loop must be upward to prevent overwriting of values \ * not yet converted: \ */ \ 	PRECOND(sizeof(srcType) >= sizeof(destType)); /* upward loop OK */ \	for(i=0; i < (size_t)nr; i++)\		if (IS_MV_##srcType( ((srcType *)buf)+i) )\		    SET_MV_##destType( ((destType *)buf)+i);\		else\			((destType *)buf)[i] = (destType)(((srcType *)buf)[i]);\}#define CONV_SMALL_TO_BIG(nr, buf, destType, srcType)\{\	size_t i = (size_t)nr;\/* loop must be downward to prevent overwriting of values \ * not yet converted: \ */ \ 	PRECOND(sizeof(srcType) <= sizeof(destType)); /* downward loop OK */ \	do { i--;\		if (IS_MV_##srcType( ((srcType *)buf)+i) )\		    SET_MV_##destType( ((destType *)buf)+i);\		else\			((destType *)buf)[i] = (destType)(((srcType *)buf)[i]);\	}while ( i != 0);\}static void UINT1tINT4(size_t nrCells, void *buf){ CONV_SMALL_TO_BIG(nrCells, buf, INT4, UINT1);}static void UINT1tREAL4(size_t nrCells, void *buf){ CONV_SMALL_TO_BIG(nrCells, buf, REAL4, UINT1);}static void UINT1tREAL8(size_t nrCells, void *buf){ CONV_SMALL_TO_BIG(nrCells, buf, REAL8, UINT1);}static void INT4tUINT1(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, UINT1, INT4);}static void INT2tUINT1(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, UINT1, INT2);}static void UINT2tUINT1(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, UINT1, UINT2);}static void INT4tREAL4(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, REAL4, INT4);}static void INT4tREAL8(size_t nrCells, void *buf){ CONV_SMALL_TO_BIG(nrCells, buf, REAL8, INT4);}static void REAL4tUINT1(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, UINT1, REAL4);}static void REAL4tINT4(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, INT4, REAL4);}static void REAL4tREAL8(size_t nrCells, void *buf){ CONV_SMALL_TO_BIG(nrCells, buf, REAL8, REAL4);}static void REAL8tUINT1(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, UINT1, REAL8);}static void REAL8tINT4(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, INT4, REAL8);} static void REAL8tREAL4(size_t nrCells, void *buf){ CONV_BIG_TO_SMALL(nrCells, buf, REAL4, REAL8);}static void Transform2( size_t nrCells, void *buf, CSF_CR destCellRepr, CSF_CR currCellRepr);static void INT1tINT4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_INT4, CR_INT1);}static void INT1tREAL4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL4, CR_INT1);}static void INT1tREAL8(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL8, CR_INT1);}static void INT2tINT4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_INT4, CR_INT2);}static void INT2tREAL4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL4, CR_INT2);}static void INT2tREAL8(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL8, CR_INT2);}static void UINT2tINT4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_INT4, CR_UINT2);}static void UINT2tREAL4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL4, CR_UINT2);}static void UINT2tREAL8(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL8, CR_UINT2);}static void UINT4tREAL4(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL4, CR_UINT4);}static void UINT4tREAL8(size_t nrCells, void *buf){ Transform2(nrCells, buf, CR_REAL8, CR_UINT4);}static void ConvertToINT2( size_t nrCells, void *buf, CSF_CR src){	if (IS_SIGNED(src))	{		POSTCOND(src == CR_INT1);		CONV_SMALL_TO_BIG(nrCells,buf, INT2, INT1);	}	else  	{		POSTCOND(src == CR_UINT1);		CONV_SMALL_TO_BIG(nrCells,buf, INT2, UINT1);	}}static void ConvertToINT4( size_t nrCells, void *buf, CSF_CR src){	if (IS_SIGNED(src))	{		POSTCOND(src == CR_INT2);		CONV_SMALL_TO_BIG(nrCells,buf, INT4, INT2);	}	else  	{		POSTCOND(src == CR_UINT2);		CONV_SMALL_TO_BIG(nrCells,buf, INT4, UINT2);	}}static void UINT1tUINT2(size_t nrCells,void *buf){	CONV_SMALL_TO_BIG(nrCells, buf, UINT2, UINT1);}static void UINT2tUINT4(size_t nrCells,void *buf)     {	CONV_SMALL_TO_BIG(nrCells, buf, UINT4, UINT2);}static void ConvertToREAL4( size_t nrCells, void *buf, CSF_CR src){	size_t i;	i = (size_t)nrCells;	if (IS_SIGNED(src))	{		POSTCOND(src == CR_INT4);		INT4tREAL4(nrCells, buf);	}	else	{		POSTCOND(src == CR_UINT4);		{			do {				i--;				if ( ((UINT4 *)buf)[i] == MV_UINT4 )					((UINT4 *)buf)[i] = MV_UINT4;				else					((REAL4 *)buf)[i] = ((UINT4 *)buf)[i];			    }			while(i != 0);		}	}}static void Transform2(	size_t nrCells,	void  *buf,	CSF_CR destCellRepr, /* the output representation */	CSF_CR currCellRepr)  /* at start of while this is the representation				read in the MAP-file */{  /* subsequent looping changes the to the new   * converted type   */	while(currCellRepr != destCellRepr)	{		switch(currCellRepr)		{			case CR_INT1:    ConvertToINT2(nrCells, buf,						currCellRepr);					currCellRepr = CR_INT2;					break;			case CR_INT2:    ConvertToINT4(nrCells, buf, 						currCellRepr);					currCellRepr = CR_INT4;					break;			case CR_INT4:    ConvertToREAL4(nrCells, buf,						currCellRepr);					currCellRepr = CR_REAL4;					break;			case CR_UINT1: 	if (IS_SIGNED(destCellRepr))					{						ConvertToINT2(nrCells, buf,							currCellRepr);						currCellRepr = CR_INT2;					}					else					{						UINT1tUINT2(nrCells, buf);						currCellRepr = CR_UINT2;					}					break;			case CR_UINT2:   if (destCellRepr == CR_INT4)					{						ConvertToINT4(nrCells, buf,							currCellRepr);					 	currCellRepr = CR_INT4;					 }					 else					 {						UINT2tUINT4(nrCells, buf);						currCellRepr = CR_UINT4;					 }					 break;			case CR_UINT4:   ConvertToREAL4(nrCells, buf,						currCellRepr);					currCellRepr = CR_REAL4;					break;			default       :	POSTCOND(currCellRepr == CR_REAL4);					REAL4tREAL8(nrCells, buf);					currCellRepr = CR_REAL8;		}	}}/* OLD STUFF void TransForm(	const MAP *map,	size_t nrCells,	void *buf){	Transform2(nrCells, buf, map->types[READ_AS], map->types[STORED_AS]);}*/#define illegal NULL#define same    CsfDummyConversionstatic const CSF_CONV_FUNC ConvTable[8][8] = {/* ConvTable[source][destination] *//* INT1     , INT2      , INT4      , UINT1     , UINT2     , UINT4     , REAL4     , REAL8        *//* 0        , 1         , 2         , 3         , 4         , 5         , 6         , 7      ind   *//* 0x04     , 0x05      , 0x06      , 0x00      , 0x01      , 0x02      , 0x0A      , 0x0B low-nib */{  same     , illegal   , INT1tINT4 , illegal   , illegal   , illegal   , INT1tREAL4, INT1tREAL8}, /* INT1 */{ illegal   ,  same     , INT2tINT4 ,INT2tUINT1 , illegal   , illegal   , INT2tREAL4, INT2tREAL8}, /* INT2 */{ illegal   , illegal   ,  same     ,INT4tUINT1 , illegal   , illegal   , INT4tREAL4, INT4tREAL8}, /* INT4 */{ illegal   , illegal   ,UINT1tINT4 ,  same     ,UINT1tUINT2, illegal   ,UINT1tREAL4,UINT1tREAL8}, /* UINT1 */{ illegal   , illegal   ,UINT2tINT4 , UINT2tUINT1 ,  same     ,UINT2tUINT4,UINT2tREAL4,UINT2tREAL8}, /* UINT2 */{ illegal   , illegal   , illegal   , illegal   , illegal   ,  same     ,UINT4tREAL4,UINT4tREAL8}, /* UINT4 */{ illegal   , illegal   ,REAL4tINT4 ,REAL4tUINT1, illegal   , illegal   ,  same     ,REAL4tREAL8}, /* REAL4 */{ illegal   , illegal   ,REAL8tINT4 ,REAL8tUINT1, illegal   , illegal   ,REAL8tREAL4,  same     }  /* REAL8 */};static const CSF_CONV_FUNC boolConvTable[8] = {INT1tBoolean, INT2tBoolean, INT4tBoolean,UINT1tBoolean, UINT2tBoolean, UINT4tBoolean,REAL4tBoolean, REAL8tBoolean };static const char  convTableIndex[12] = {	   3 /* UINT1 */,  4 /* UINT2 */,  5 /* UINT4 */, -1 /* 0x03  */,	   0 /*  INT1 */,  1 /*  INT2 */,  2 /*  INT4 */, -1 /* 0x07  */,	  -1 /*  0x08 */, -1 /*  0x09 */,  6 /* REAL4 */,  7 /* REAL8 */};static CSF_CONV_FUNC ConvFuncBool(CSF_CR cr){	PRECOND(CSF_UNIQ_CR_MASK(cr) < 12);	PRECOND(convTableIndex[CSF_UNIQ_CR_MASK(cr)] != -1);		return boolConvTable[(int)convTableIndex[CSF_UNIQ_CR_MASK(cr)]];}static CSF_CONV_FUNC ConvFunc(CSF_CR destType, CSF_CR srcType){	PRECOND(CSF_UNIQ_CR_MASK(destType) < 12);	PRECOND(CSF_UNIQ_CR_MASK(srcType) < 12);	PRECOND(convTableIndex[CSF_UNIQ_CR_MASK(srcType)] != -1);	PRECOND(convTableIndex[CSF_UNIQ_CR_MASK(destType)] != -1);	/* don't complain on illegal, it can be attached	 * to a app2file while there's no WRITE_MODE	 * if it's an error then it's catched in RputSomeCells	 */	return          ConvTable[(int)convTableIndex[CSF_UNIQ_CR_MASK(srcType)]] 	          [(int)convTableIndex[CSF_UNIQ_CR_MASK(destType)]];}static int HasInFileCellReprType2(CSF_CR cr){	char  type2[12] = {	   1 /* UINT1 */,  0 /* UINT2 */,  0 /* UINT4 */,  0 /* 0x03  */,	   0 /*  INT1 */,  0 /*  INT2 */,  1 /*  INT4 */,  0 /* 0x07  */,	   0 /*  0x08 */,  0 /*  0x09 */,  1 /* REAL4 */,  1 /* REAL8 */};	PRECOND(CSF_UNIQ_CR_MASK(cr) < 12);		return (int)type2[CSF_UNIQ_CR_MASK(cr)];}/* set the cell representation the application will use * RuseAs enables an application to use cell values * in a different format than they are stored in the map. * Cell values are converted when getting (Rget*-functions) and * putting (Rput*-functions) cells if necessary. * Thus no conversions are applied if cell representation and/or  * value scale already match. * Any conversions between the version 2 cell representations,  * (CR_UINT1, CR_INT4, CR_REAL4 and CR_REAL8) is possible.  * Conversion from a non version 2 cell representation to a version * 2 cell representation is only possible when you don't * have write access to the cells. * Conversion rules are exactly as described in K&R 2nd edition section A6. *  * Two special conversions are possible if you don't * have write access to the cells or if the in-file cell representation is * UINT1: * (1) VS_BOOLEAN: successive calls to the Rget*-functions returns the result of * value != 0  * , that is 0 or 1 in UINT1 format. The in-file cell representation can be * anything, except if the value scale is VS_DIRECTION or VS_LDD. * (2) VS_LDD: successive calls to the Rget*-functions returns the result of * value % 10  * , that is 1 to 9 in UINT1 format (0's are set to MV_UINT1).  * The in-file cell representation must be CR_UINT1 or CR_INT2 and  * the value scale must be VS_LDD, VS_CLASSIFIED or VS_NOTDETERMINED. * * NOTE * that you must use Rmalloc() to get enough space for both the in-file and * app cell representation.  * * returns  * 0 if conversion obeys rules given here. 1 if not (conversions  * will not take place). * * Merrno * CANT_USE_AS_BOOLEAN CANT_USE_WRITE_BOOLEAN * CANT_USE_WRITE_LDD * CANT_USE_AS_LDD * CANT_USE_WRITE_OLDCR * ILLEGAL_USE_TYPE * * EXAMPLE * .so examples/maskdump.tr */int RuseAs(	MAP *m,          /* map handle */	CSF_CR useType)   /* CR_UINT1,CR_INT4, CR_REAL4, CR_REAL8, VS_BOOLEAN or VS_LDD */{   CSF_CR inFileCR = RgetCellRepr(m);  CSF_VS inFileVS = RgetValueScale(m);  int hasInFileCellReprType2 =  HasInFileCellReprType2(inFileCR);  switch(useType)  {    case VS_BOOLEAN:  	switch(inFileVS) {	   case VS_LDD: case VS_DIRECTION:   			M_ERROR(CANT_USE_AS_BOOLEAN);   			return 1;   	   case VS_BOOLEAN:   	   		POSTCOND(inFileCR == CR_UINT1);   	   		m->appCR = CR_UINT1;   	   		m->file2app = same;   	   		m->app2file = same;   	   		return 0;   	   default:			if ( (! hasInFileCellReprType2) && WRITE_ENABLE(m) )			{ /* cellrepr is old one, we can't write that */					M_ERROR(CANT_USE_WRITE_BOOLEAN);					return 1;			}   			m->appCR = CR_UINT1;   			m->file2app  = ConvFuncBool(inFileCR);   			m->app2file = ConvFunc(inFileCR, CR_UINT1);   	   		return 0;   	} /* case useType == VS_BOOLEAN */   	break;   case VS_LDD:        switch(inFileVS) {         case VS_LDD:   	   		POSTCOND(inFileCR == CR_UINT1);   	   		m->appCR = CR_UINT1;   	   		m->file2app = same;   	   		m->app2file = same;   	   		return 0;        case VS_CLASSIFIED:         case VS_NOTDETERMINED:         	switch(inFileCR) {        	 case CR_UINT1:        	 	m->appCR = CR_UINT1;			m->file2app  = UINT1tLdd;			m->app2file = same;			return 0;		 case CR_INT2:		        if (WRITE_ENABLE(m))		        {  M_ERROR(CANT_USE_WRITE_LDD);			   return 1;		        }        	 	m->appCR = CR_UINT1;			m->file2app  = INT2tLdd;			m->app2file = illegal;			return 0;		}	default: M_ERROR(CANT_USE_AS_LDD);		 return 1;      }      /* case useType == VS_LDD */      break;     case CR_UINT1:     case CR_INT4 :     case CR_REAL4:     case CR_REAL8:		if ( (! hasInFileCellReprType2) && WRITE_ENABLE(m) )		{ /* cellrepr is old one, we can't write that */				M_ERROR(CANT_USE_WRITE_OLDCR);				return 1;		}		m->appCR = useType;		m->file2app  = ConvFunc(useType, inFileCR);		m->app2file = ConvFunc(inFileCR, useType);		POSTCOND(m->file2app != NULL);		return 0;    default:    		M_ERROR(ILLEGAL_USE_TYPE);		return 1;  }  /* NOTREACHED */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜激情免费电影| 偷偷要91色婷婷| 日本中文字幕一区| 99视频精品在线| 日韩午夜激情视频| 亚洲一区二区在线播放相泽 | 国产三级精品三级在线专区| 亚洲午夜一区二区| 播五月开心婷婷综合| 久久久久久免费| 日产精品久久久久久久性色| 欧美无人高清视频在线观看| 一区在线观看免费| 成人黄色在线视频| 久久精品在线免费观看| 久久精品国产秦先生| 欧美精品v日韩精品v韩国精品v| 中文字幕在线观看不卡| 国产传媒久久文化传媒| 久久在线免费观看| 国产一区在线精品| 久久综合成人精品亚洲另类欧美| 日韩成人午夜精品| 91精品国产黑色紧身裤美女| 亚洲bt欧美bt精品777| 欧美三级在线播放| 亚洲成av人在线观看| 欧美日韩中文字幕精品| 亚洲国产精品一区二区www在线| 欧洲生活片亚洲生活在线观看| 中文字幕一区二区在线播放| www.欧美色图| 亚洲桃色在线一区| 日本电影亚洲天堂一区| 一区二区三区四区在线播放| 99久久精品国产毛片| 亚洲女同ⅹxx女同tv| 色老头久久综合| 一区二区三区影院| 7777女厕盗摄久久久| 麻豆精品久久精品色综合| 精品国产一区二区三区久久影院 | 26uuu国产一区二区三区| 国内精品国产三级国产a久久| 久久一区二区视频| a4yy欧美一区二区三区| 洋洋成人永久网站入口| 91精品国产高清一区二区三区| 麻豆一区二区在线| 中文字幕欧美日本乱码一线二线| 99视频精品全部免费在线| 亚洲成人三级小说| 7777精品伊人久久久大香线蕉的 | 国产精品欧美综合在线| 欧美国产精品一区二区三区| 亚洲一区av在线| 欧美日韩视频一区二区| 免费一区二区视频| 久久九九久久九九| 色偷偷久久人人79超碰人人澡| 亚洲一区二区在线播放相泽| 精品美女一区二区| 91在线国产观看| 日本午夜精品视频在线观看 | 精品久久久久久久久久久院品网 | 国产精品理论在线观看| 精品视频999| 成人少妇影院yyyy| 亚洲国产一区二区三区青草影视| 26uuu久久天堂性欧美| 日本韩国欧美一区| 九九视频精品免费| 亚洲一级电影视频| 欧美激情在线看| 欧美电影影音先锋| 99麻豆久久久国产精品免费 | 成人精品免费视频| 日韩综合小视频| 中文字幕亚洲一区二区av在线| 欧美日韩成人综合天天影院| av色综合久久天堂av综合| 日本不卡中文字幕| 亚洲精品你懂的| 国产亚洲欧美色| 欧美一区二区女人| 欧洲另类一二三四区| 成人涩涩免费视频| 国产美女在线精品| 男女视频一区二区| 午夜天堂影视香蕉久久| 亚洲视频一区在线观看| 久久久久久免费| 欧美xxxxxxxx| 欧美一级日韩不卡播放免费| 欧美午夜影院一区| 91免费版在线| 不卡一区二区三区四区| 国产美女在线观看一区| 免费成人在线视频观看| 日韩在线a电影| 亚洲综合色视频| 一片黄亚洲嫩模| 亚洲精品国久久99热| 亚洲国产高清aⅴ视频| 国产欧美综合色| 久久精品在线观看| 国产夜色精品一区二区av| 亚洲精品在线网站| 精品国产99国产精品| 精品99久久久久久| 久久精品人人做人人爽人人| 久久精品亚洲一区二区三区浴池| 精品国产乱码久久久久久浪潮| 日韩精品一区在线观看| 欧美va日韩va| 久久综合狠狠综合| 国产欧美久久久精品影院| 国产精品嫩草影院com| 国产精品久久久久9999吃药| 国产精品久久久久久一区二区三区| 欧美激情一区三区| 亚洲免费在线视频| 亚洲国产精品久久艾草纯爱| 亚洲高清免费观看高清完整版在线观看 | 国产毛片精品国产一区二区三区| 久久成人免费网站| 丰满少妇久久久久久久| 99视频有精品| 欧美在线观看18| 日韩美女一区二区三区四区| 亚洲精品在线观看视频| 欧美国产视频在线| 亚洲免费视频成人| 日韩精品一级二级| 国产酒店精品激情| 91捆绑美女网站| 欧美军同video69gay| 久久尤物电影视频在线观看| 国产精品久久久久久久久快鸭| 一区二区欧美视频| 精品亚洲免费视频| 99r精品视频| 欧美一区二区二区| 国产精品传媒入口麻豆| 亚洲一区视频在线| 国产一区美女在线| 欧美又粗又大又爽| 久久久久国产精品人| 尤物av一区二区| 韩国女主播一区二区三区| 91性感美女视频| 日韩一区二区三区电影在线观看| 国产精品美女久久久久久久久| 午夜精品一区二区三区三上悠亚| 国产真实乱对白精彩久久| 色婷婷久久一区二区三区麻豆| 日韩欧美在线1卡| 一区二区三区精品在线观看| 黑人精品欧美一区二区蜜桃| 色婷婷综合久久久中文一区二区| 精品免费一区二区三区| 亚洲电影中文字幕在线观看| 国产成人啪午夜精品网站男同| 在线观看视频一区| 国产精品久久午夜| 久久精品国产精品青草| 欧美在线免费播放| 亚洲欧美综合网| 国产乱码精品一品二品| 91精品婷婷国产综合久久性色| 成人欧美一区二区三区视频网页| 美女脱光内衣内裤视频久久网站| 色综合久久综合网欧美综合网| 精品福利视频一区二区三区| 午夜免费久久看| 日本久久精品电影| 中文字幕av一区二区三区高 | 亚洲va韩国va欧美va| 99精品久久久久久| 欧美—级在线免费片| 国产一区三区三区| 日韩精品一区在线| 免费久久精品视频| 在线不卡中文字幕| 亚洲国产精品自拍| 色天使色偷偷av一区二区| 亚洲欧美综合在线精品| 高潮精品一区videoshd| 国产亚洲综合av| 狠狠色狠狠色综合| 久久一留热品黄| 精品综合久久久久久8888| 日韩一区二区三区在线| 麻豆传媒一区二区三区| 91精品国产乱| 久久av资源站| 久久久久一区二区三区四区| 国产成人精品一区二| 国产亚洲午夜高清国产拍精品 | 青青青爽久久午夜综合久久午夜|