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

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

?? vclunzip.pas

?? delphi 的壓縮工具代碼
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{ ********************************************************************************** }
{                                                                                    }
{   COPYRIGHT 1997 Kevin Boylan                                                    }
{     Source File: VCLUnZip.pas                                                      }
{     Description: VCLUnZip component - native Delphi unzip component.               }
{     Date:        March 1997                                                        }
{     Author:      Kevin Boylan, boylank@bigfoot.com                                 }
{                                                                                    }
{                                                                                    }
{ ********************************************************************************** }
unit VCLUnZip;

{$P-}                                                   { turn off open parameters }
{$R-}                                                   { 3/10/98 2.03 }
{$Q-}                                                   { 3/10/98 2.03 }
{$B-} { turn off complete boolean eval }                { 12/24/98  2.17 }

{$I KPDEFS.INC}

interface

uses
   {$IFDEF WIN32}
   Windows,
   {$ELSE}
   WinTypes, WinProcs,
   {$ENDIF}
   SysUtils, Classes,
   {$IFDEF KPSMALL}
   kpSmall,
   {$ELSE}
   Controls, Forms, Dialogs, FileCtrl,
   {$ENDIF}
   kpCntn, kpMatch, KpLib, kpZipObj{$IFNDEF NO_RES}, kpzcnst{$ENDIF};


const
   kpThisVersion         = 222; {added this constant 3/1/98 for version 2.03}

   {$IFDEF WIN32}
   DEF_BUFSTREAMSIZE      = 8192;   { Changed back to 8192 7/20/01  2.21+ }
   {$ELSE}                          { Larger values can cause memory problems }
   DEF_BUFSTREAMSIZE      = 8192;   { Changed back to 8192 7/20/01  2.21+ }
   {$ENDIF}

type

   TMultiMode = (mmNone, mmSpan, mmBlocks);
   TIncompleteZipMode = (izAssumeMulti, izAssumeBad, izAssumeNotAZip);
   TUZOverwriteMode = (Prompt, Always, Never, ifNewer, ifOlder);  { added ifNewer,ifOlder 8/2/98  2.14 }
   TSkipReason = (srBadPassword, srNoOverwrite, srFileOpenError, srCreateError);

   {Decryption}

   DecryptKey = array[0..2] of LongInt;
   DecryptHeaderPtr = ^DecryptHeaderType;
   DecryptHeaderType = array[0..11] of BYTE;

   { Exceptions }
   EBadZipFile = class(Exception);
   EFileNotAllThere = class(Exception);
   EIncompleteZip = class(Exception);
   ENotAZipFile = class(Exception);
   EFatalUnzipError = class(Exception);
   EUserCanceled = class(Exception);
   EInvalidPassword = class(Exception);
   EBiggerThanUncompressed = class(Exception);          { 4/16/98 2.11 }
   ENotEnoughRoom = class(Exception);
   ECantWriteUCF = class(Exception);

   { Event types }

   TStartUnzipInfo = procedure(Sender: TObject; NumFiles: Integer;
      TotalBytes: Comp; var StopNow: Boolean) of object;
   TStartUnZipEvent = procedure(Sender: TObject; FileIndex: Integer;
      var FName: string; var Skip: Boolean) of object;
   TEndUnZipEvent = procedure(Sender: TObject; FileIndex: Integer; FName: string) of object;
   TFilePercentDone = procedure(Sender: TObject; Percent: LongInt) of object;
   TTotalPercentDone = procedure(Sender: TObject; Percent: LongInt) of object;
   TPromptForOverwrite = procedure(Sender: TObject; var OverWriteIt: Boolean;
      FileIndex: Integer; var FName: string) of object;
   TSkippingFile = procedure(Sender: TObject; Reason: TSkipReason; FName: string;
      FileIndex: Integer; var Retry: Boolean) of object;
   TBadPassword = procedure(Sender: TObject; FileIndex: Integer; var NewPassword: string) of
      object;
   TBadCRC = procedure(Sender: TObject; CalcCRC, StoredCRC: LongInt;
      FileIndex: Integer) of object;
   TIncompleteZip = procedure(Sender: TObject; var IncompleteMode: TIncompleteZipMode) of
      object;
   TGetNextDisk = procedure(Sender: TObject; NextDisk: Integer; var FName: string) of object;
   TUnZipComplete = procedure(sender: TObject; FileCount: Integer) of object;
   TGetNextBuffer = procedure(Sender: TObject; var Buffer: PChar; FName: string; AmountUsed:
      LongInt;
      BufferNum: Integer; var Quit: Boolean) of object;

   {$IFNDEF WIN32}
   DWORD = LongInt;
   {$ENDIF}

   TVCLUnZip = class(TComponent)
   PRIVATE
      { Private declarations }
      FZipName: string;
      FDestDir: string;
      FSortMode: TZipSortMode;
      FReCreateDir: Boolean;
      FOverwriteMode: TUZOverwriteMode;
      FFilesList: TStrings;
      FDoAll: Boolean;
      FPassword: string;
      FIncompleteZipMode: TIncompleteZipMode;
      FKeepZipOpen: Boolean;
      FDoProcessMessages: Boolean;
      FNumDisks: Integer;
      FRetainAttributes: Boolean;
      FThisVersion: Integer;
      FReplaceReadOnly: Boolean;
      FNumSelected: Integer;
      FBufferLength: LongInt;                           { 8/23/99  2.18+ }
      FImproperZip: Boolean;                            { 2/19/00  2.20+ }

      { Event variables }
      FOnStartUnzipInfo: TStartUnzipInfo;
      FOnStartUnZip: TStartUnZipEvent;
      FOnEndUnZip: TEndUnZipEvent;
      FOnPromptForOverwrite: TPromptForOverwrite;
      FOnBadPassword: TBadPassword;
      FOnBadCRC: TBadCRC;
      FOnInCompleteZip: TInCompleteZip;
      FOnUnzipComplete: TUnZipComplete;
      FOnGetNextBuffer: TGetNextBuffer;

      function ProcessIntegrityCheck(Index: Integer): Boolean; { 8/15/99 2.18+ }

      { Decrypt }
   PROTECTED
      FOnFilePercentDone: TFilePercentDone;
      FOnTotalPercentDone: TTotalPercentDone;
      FOnSkippingFile: TSkippingFile;
      FOnGetNextDisk: TGetNextDisk;
      FArchiveStream: TStream;
      FBusy: Boolean;
      FRootDir: string;
      FTestMode: Boolean;                               { 12/3/98  2.17P+ }
      FFlushFilesOnClose: Boolean;                      { 10/11/99 2.18+ }
      FBufferedStreamSize: Integer;                    { 05/13/00 2.20+ }
      ArchiveIsStream: Boolean;
      FCheckDiskLabels: Boolean;
      FMultiMode: TMultiMode;
      file_info: TZipHeaderInfo;
      files: TSortedZip;
      sortfiles: TSortedZip;
      filesDate: TDateTime;
      ZipIsBad: Boolean;
      CurrentDisk: Integer;
      theZipFile: TStream;
      Crc32Val: ULONG;
      lrec: local_file_header;
      crec: central_file_header;
      ecrec: TEndCentral;
      ZipCommentPos: LongInt;
      UnZippingSelected: Boolean;                       { 6/27/99 2.18+ }

      tmpMStr: string;
      Key: DecryptKey;
      CancelOperation: Boolean;
      ZipStream: TStream;
      StreamZipping: Boolean;
      MemZipping: Boolean;
      MemBuffer: PChar;
      MemLen: LongInt;
      MemLeft: LongInt;
      CurrMem: PChar;
      Fixing: Boolean;
      DR: Boolean;

      TotalUncompressedSize: Comp;
      TotalBytesDone: Comp;

      procedure OpenZip;
      procedure CloseZip;
      function GetCount: Integer;
      procedure GetFileInfo(infofile: TStream);
      function GetZipName: string;
      procedure SetZipName(ZName: string); VIRTUAL;
      procedure SetArchiveStream(theStream: TStream);
      function GetDestDir: string;
      procedure SetDestDir(DDir: string);
      procedure SetRootDir(Value: string);
      function UnZipFiles(zip_in_file: TStream): Integer;
      function UpdCRC(Octet: Byte; Crc: ULONG): ULONG;
      function SwapDisk(NewDisk: Integer): TStream;
      procedure SetFileComment(Index: Integer; theComment: string);
      procedure SetZipComment(theComment: string);
      procedure WriteNumDisks(NumberOfDisks: Integer);
      procedure NewDiskEvent(Sender: TObject; var S: TStream);
      procedure SetThisVersion(v: Integer);
      function GetCheckDiskLabels: Boolean; VIRTUAL;
      procedure SetCheckDiskLabels(Value: Boolean); VIRTUAL;

      { GetMultiMode and SetMultiMode added 3/10/98 for 2.03}
      function GetMultiMode: TMultiMode; VIRTUAL;
      procedure SetMultiMode(Value: TMultiMode); VIRTUAL;

      { List functions }
      procedure SetFilesList(Value: TStrings);
      function GetFilename(Index: Integer): TZipFilename;
      function GetPathname(Index: Integer): TZipPathname;
      function GetFullname(Index: Integer): string;
      function GetCompressMethod(Index: Integer): WORD;
      function GetCompressMethodStr(Index: Integer): string;
      function GetDateTime(Index: Integer): TDateTime;
      function GetCrc(Index: Integer): ULONG;
      function GetCompressedSize(Index: Integer): LongInt;
      function GetUnCompressedSize(Index: Integer): LongInt;
      function GetExternalFileAttributes(Index: Integer): ULONG;
      function GetIsEncrypted(Index: Integer): Boolean;
      function GetHasComment(Index: Integer): Boolean;
      function GetFileComment(Index: Integer): string;
      function GetFileIsOK(Index: Integer): Boolean;    { 12/3/98  2.17P+ }
      function GetDiskNo(Index: Integer): Integer;
      function GetSelected(Index: Integer): Boolean;    {6/27/99 2.18+ }
      procedure SetSelected(Index: Integer; Value: Boolean);
      {$IFDEF ISDELPHI}
      function GetDecryptHeader(Index: Integer): DecryptHeaderType;
      {$ENDIF}
      function GetZipHasComment: Boolean;
      function GetZipComment: string;
      function GetZipSize: LongInt;

      {Decryption}
      function DecryptTheHeader(Passwrd: string; zfile: TStream): BYTE;
      procedure update_keys(ch: char);
      function decrypt_byte: BYTE;
      procedure Init_Keys(Passwrd: string);
      procedure decrypt_buff(bufptr: BYTEPTR; num_to_decrypt: LongInt);
      procedure Update_CRC_buff(bufptr: BYTEPTR; num_to_update: LongInt);

      procedure DefaultGetNextDisk(Sender: TObject; NextDisk: Integer; var FName: string);

      procedure Loaded; OVERRIDE;

   PUBLIC
      { Public declarations }
      constructor Create(AOwner: TComponent); OVERRIDE;
      destructor Destroy; OVERRIDE;
      procedure Assign(Source: TPersistent); OVERRIDE;  { 6/27/99 2.18+ }
      procedure ReadZip;
      function UnZip: Integer;
      function UnZipSelected: Integer;
      procedure ClearSelected;
      procedure ClearZip;
      procedure FillList(FilesList: TStrings);
      procedure Sort(SMode: TZipSortMode);
      procedure CancelTheOperation;
      procedure AskForNewDisk(NewDisk: Integer);
      function UnZipToStream(theStream: TStream; FName: string): Integer;
      function UnZipToStreamByIndex(theStream: TStream; Index: Integer): Integer;
      function UnZipToBuffer(var Buffer: PChar; FName: string): Integer;
      function UnZipToBufferByIndex(var Buffer: PChar; Index: Integer): Integer;
      procedure ResetFileIsOK(Index: Integer);
      function CheckArchive: Boolean;
      function DecryptHeaderByte(Passwrd: string; dh: DecryptHeaderType): BYTE;
      { The following two are for BCB because of difficulties passing the DecryptHeaderType }
      procedure GetDecryptHeaderPtr(Index: Integer; dhPtr: BytePtr); { 8/8/99  2.18+ }
      function DecryptHeaderByteByPtr(Passwrd: string; dh: BytePtr): Byte; { 8/8/99  2.18+ }
      { -------- }
      property ArchiveStream: TStream READ theZipFile WRITE SetArchiveStream;
      property Count: Integer READ GetCount;
      property Filename[Index: Integer]: TZipFilename READ GetFilename;
      property Pathname[Index: Integer]: TZipPathname READ GetPathname;
      property FullName[Index: Integer]: string READ GetFullName;
      property CompressMethod[Index: Integer]: WORD READ GetCompressMethod;
      property CompressMethodStr[Index: Integer]: string READ GetCompressMethodStr;
      property DateTime[Index: Integer]: TDateTime READ GetDateTime;
      property Crc[Index: Integer]: ULONG READ GetCrc;
      property CompressedSize[Index: Integer]: LongInt READ GetCompressedSize;
      property UnCompressedSize[Index: Integer]: LongInt READ GetUnCompressedSize;
      property ExternalFileAttributes[Index: Integer]: ULONG READ GetExternalFileAttributes;
      property IsEncrypted[Index: Integer]: Boolean READ GetIsEncrypted;
      property FileHasComment[Index: Integer]: Boolean READ GetHasComment;
      property FileComment[Index: Integer]: string READ GetFileComment;
      property FileIsOK[Index: Integer]: Boolean READ GetFileIsOK; { 12/3/98 2.17P+ }
      property DiskNo[Index: Integer]: Integer READ GetDiskNo;
      property Selected[Index: Integer]: Boolean READ GetSelected WRITE SetSelected;  { 6/27/99 2.18+ }
      property ZipComment: string READ GetZipComment;
      property Password: string READ FPassword WRITE FPassword;
      property ZipHasComment: Boolean READ GetZipHasComment;
      property NumDisks: Integer READ FNumDisks;
      property ZipSize: LongInt READ GetZipSize;
      property CheckDiskLabels: Boolean READ GetCheckDiskLabels WRITE SetCheckDiskLabels DEFAULT
         True;
      property MultiMode: TMultiMode READ GetMultiMode WRITE SetMultiMode DEFAULT mmNone;
      property Busy: Boolean READ FBusy DEFAULT False;
      {$IFDEF ISDELPHI}
      property DecryptHeader[Index: Integer]: DecryptHeaderType READ GetDecryptHeader;
      {$ENDIF}
      property NumSelected: Integer READ FNumSelected;
      property BufferLength: LongInt READ FBufferLength WRITE FBufferLength DEFAULT 0;
      property ImproperZip: Boolean READ FImproperZip DEFAULT False;  { 2/19/00  2.20+ }
      property BufferedStreamSize: Integer READ FBufferedStreamSize
                 WRITE FBufferedStreamSize DEFAULT DEF_BUFSTREAMSIZE;

   PUBLISHED
      { Published declarations }
      property ThisVersion: Integer READ FThisVersion WRITE SetThisVersion DEFAULT
         kpThisVersion;
      property ZipName: string READ GetZipName WRITE SetZipName;
      property DestDir: string READ GetDestDir WRITE SetDestDir;
      property RootDir: string READ FRootDir WRITE SetRootDir;
      property SortMode: TZipSortMode READ FSortMode WRITE FSortMode DEFAULT ByNone;
      property RecreateDirs: Boolean READ FRecreateDir WRITE FRecreateDir DEFAULT False;
      property OverwriteMode: TUZOverwriteMode READ FOverwriteMode
         WRITE FOverwriteMode DEFAULT Prompt;
      property FilesList: TStrings READ FFilesList WRITE SetFilesList;
      property DoAll: Boolean READ FDoAll WRITE FDoAll DEFAULT False;
      property IncompleteZipMode: TIncompleteZipMode READ FIncompleteZipMode
         WRITE FIncompleteZipMode DEFAULT izAssumeMulti;
      property KeepZipOpen: Boolean READ FKeepZipOpen WRITE FKeepZipOpen DEFAULT False;
      property DoProcessMessages: Boolean READ FDoProcessMessages WRITE FDoProcessMessages
         DEFAULT True;
      property RetainAttributes: Boolean READ FRetainAttributes WRITE FRetainAttributes DEFAULT
         True;
      property ReplaceReadOnly: Boolean READ FReplaceReadOnly WRITE FReplaceReadOnly DEFAULT
         False;
      property FlushFilesOnClose: Boolean READ FFlushFilesOnClose WRITE FFlushFilesOnClose
         DEFAULT False;
      { Event Properties }
      property OnStartUnZipInfo: TStartUnzipInfo READ FOnStartUnzipInfo
         WRITE FOnStartUnzipInfo;
      property OnFilePercentDone: TFilePercentDone READ FOnFilePercentDone
         WRITE FOnFilePercentDone;
      property OnTotalPercentDone: TTotalPercentDone READ FOnTotalPercentDone
         WRITE FOnTotalPercentDone;
      property OnStartUnZip: TStartUnZipEvent READ FOnStartUnZip WRITE FOnStartUnZip;
      property OnEndUnZip: TEndUnZipEvent READ FOnEndUnZip WRITE FOnEndUnZip;
      property OnPromptForOverwrite: TPromptForOverwrite READ FOnPromptForOverwrite
         WRITE FOnPromptForOverwrite;
      property OnSkippingFile: TSkippingFile READ FOnSkippingFile WRITE FOnSkippingFile;
      property OnBadPassword: TBadPassword READ FOnBadPassword WRITE FOnBadPassword;
      property OnBadCRC: TBadCRC READ FOnBadCRC WRITE FOnBadCRC;
      property OnInCompleteZip: TInCompleteZip READ FOnInCompleteZip WRITE FOnInCompleteZip;
      property OnGetNextDisk: TGetNextDisk READ FOnGetNextDisk WRITE FOnGetNextDisk;
      property OnUnZipComplete: TUnZipComplete READ FOnUnZipComplete WRITE FOnUnZipComplete;
      property OnGetNextBuffer: TGetNextBuffer READ FOnGetNextBuffer WRITE FOnGetNextBuffer;
   end;

   {$IFNDEF KPSMALL}
var
   OpenZipDlg            : TOpenDialog;
   {$ENDIF}

{$IFNDEF FULLPACK}
procedure Register;
{$ENDIF}
{$IFDEF KPDEMO}
function DelphiIsRunning: Boolean;
{$ENDIF}

implementation
{$I kpUnzipp.Pas}

{******************************************************************}

constructor TVCLUnZip.Create(AOwner: TComponent);
{$IFDEF KPDEMO}
{$IFNDEF NO_RES}
var
   tmpMstr2              : string;
   {$ENDIF}
   {$ENDIF}
begin
   inherited Create(AOwner);
   FSortMode := ByNone;
   FDoAll := False;
   RecreateDirs := False;
   FFilesList := TStringList.Create;
   file_info := TZipHeaderInfo.Create;
   Password := '';
   ZipIsBad := False;
   theZipFile := nil;
   files := nil;
   sortfiles := nil;
   FIncompleteZipMode := izAssumeMulti;
   ecrec := TEndCentral.Create;
   CancelOperation := False;
   FKeepZipOpen := False;
   FDoProcessMessages := True;
   FCheckDiskLabels := True;
   StreamZipping := False;
   MemZipping := False;
   MemBuffer := nil;
   MemLen := 0;
   ArchiveIsStream := False;
   Fixing := False;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲精华液精华液精华液 | 亚洲一区二区三区自拍| 欧美成人r级一区二区三区| 在线观看91视频| 欧美日韩高清一区二区| 精品视频色一区| 欧美精品久久99久久在免费线 | 日本一区二区三区国色天香| 国产亚洲一区二区三区| 国产日韩成人精品| 国产精品美女久久福利网站| 亚洲人精品午夜| 午夜国产精品影院在线观看| 日本不卡中文字幕| 国产综合久久久久影院| 成人永久aaa| 在线精品视频小说1| 欧美日韩美女一区二区| 8x8x8国产精品| 久久综合九色综合97婷婷| 中文字幕久久午夜不卡| 亚洲欧美日韩国产一区二区三区| 亚洲福利视频导航| 麻豆精品视频在线观看视频| 国产91精品一区二区麻豆网站| 99精品久久99久久久久| 欧美伦理电影网| 久久精品人人做人人综合| 国产精品久久久久一区二区三区共| 一区二区国产视频| 久久国产麻豆精品| 在线影视一区二区三区| 精品成人a区在线观看| 国产精品久久久久aaaa樱花 | 久久99国产精品尤物| 成人精品国产免费网站| 亚洲成av人片在线| 色狠狠av一区二区三区| 欧美日韩大陆一区二区| 欧美一区二区免费观在线| 久久久91精品国产一区二区精品| 亚洲桃色在线一区| 激情深爱一区二区| 日本久久电影网| 欧美精品一区二区三区很污很色的| 亚洲欧美综合色| 久久精品国内一区二区三区| 日本韩国精品在线| 久久综合中文字幕| 偷拍亚洲欧洲综合| 99久久精品久久久久久清纯| 欧美久久久一区| 一区二区理论电影在线观看| 波多野结衣亚洲一区| 日韩精品专区在线影院观看 | 亚洲国产裸拍裸体视频在线观看乱了| 九九视频精品免费| 欧美精品精品一区| 亚洲综合无码一区二区| 成人教育av在线| 久久久国产一区二区三区四区小说 | 精品乱码亚洲一区二区不卡| 亚洲黄色在线视频| a4yy欧美一区二区三区| 国产欧美精品国产国产专区| 久久疯狂做爰流白浆xx| 欧美一区午夜视频在线观看| 午夜精品久久久久久久| 色婷婷亚洲婷婷| 亚洲欧美二区三区| 日本韩国一区二区三区视频| 国产精品成人免费| 97久久精品人人做人人爽50路| 国产调教视频一区| 国产91综合一区在线观看| 国产亚洲欧美一级| 国产精品99久久久久久久女警 | 国产精品三级av在线播放| 国产在线播放一区| 国产日韩欧美制服另类| 成人av在线资源网站| 亚洲人被黑人高潮完整版| jlzzjlzz欧美大全| 亚洲摸摸操操av| 欧美人伦禁忌dvd放荡欲情| 亚洲成人激情av| 日韩三级在线观看| 国内精品国产成人| 国产精品成人一区二区三区夜夜夜| 9人人澡人人爽人人精品| 国产精品久久久久永久免费观看| 91首页免费视频| 亚洲成人动漫在线观看| 日韩精品一区二区三区老鸭窝| 激情伊人五月天久久综合| 中文一区一区三区高中清不卡| av不卡免费电影| 日韩二区三区四区| 国产色综合一区| 欧美在线|欧美| 久久99精品国产.久久久久| 国产精品久久久久国产精品日日| 在线视频综合导航| 激情都市一区二区| 亚洲精品欧美二区三区中文字幕| 欧美精品 日韩| 成人污污视频在线观看| 亚洲国产一区二区在线播放| 欧美成人三级电影在线| gogo大胆日本视频一区| 午夜久久久久久电影| 欧美激情一区三区| 欧美人与禽zozo性伦| 国产精品影音先锋| 午夜天堂影视香蕉久久| 久久久99免费| 欧美日韩高清一区二区不卡| 国产精品99精品久久免费| 亚洲777理论| 亚洲国产精品成人综合| 日韩欧美一级二级| 91免费观看在线| 国产麻豆一精品一av一免费| 亚洲午夜免费电影| 国产精品美女久久久久av爽李琼| 欧美日韩精品二区第二页| 国产成人福利片| 久久99在线观看| 亚洲一级片在线观看| 中文字幕一区二区三区在线不卡| 欧美一区二区视频在线观看2020 | 亚洲成人av一区| 中文字幕精品三区| 欧美成人乱码一区二区三区| 欧美亚洲图片小说| 91片在线免费观看| 国产aⅴ综合色| 国产一区二区按摩在线观看| 免费成人结看片| 日本免费新一区视频| 亚洲成a人片在线不卡一二三区| 亚洲视频1区2区| 中文字幕日韩欧美一区二区三区| 久久综合网色—综合色88| 日韩欧美成人一区二区| 日韩亚洲欧美一区| 91精品国产综合久久福利软件 | 国产日韩在线不卡| 国产亚洲短视频| 欧美激情在线看| 国产精品久久久久久福利一牛影视| 久久久久久综合| 国产欧美日韩亚州综合| 26uuu欧美| 国产日韩欧美麻豆| 国产欧美在线观看一区| 国产精品入口麻豆原神| 亚洲同性同志一二三专区| 中文字幕在线观看一区二区| 国产精品天天看| 亚洲精品伦理在线| 亚洲一区二区精品久久av| 亚洲6080在线| 免费高清在线视频一区·| 精品在线一区二区三区| 国产成人av自拍| 色激情天天射综合网| 欧美午夜精品免费| 欧美一二区视频| 久久久久久久久久久久久女国产乱| 亚洲国产精品99久久久久久久久| 国产精品不卡视频| 亚洲大片精品永久免费| 久久精品国产亚洲一区二区三区| 国产精品综合一区二区三区| 成人动漫av在线| 精品欧美一区二区久久| 国产精品天天看| 久久精品国产成人一区二区三区| 蜜乳av一区二区| 国产盗摄女厕一区二区三区| 91在线一区二区三区| 欧美日韩一本到| 亚洲精品一区二区三区99| 自拍偷在线精品自拍偷无码专区| 亚洲国产精品久久不卡毛片| 久久精品国产一区二区三| 99精品国产热久久91蜜凸| 91精品国产91综合久久蜜臀| 中文字幕国产精品一区二区| 一级中文字幕一区二区| 精品在线一区二区| 欧美色倩网站大全免费| 国产亚洲欧美在线| 五月天久久比比资源色| av电影在线观看一区| 日韩精品最新网址| 亚洲一区二区三区四区五区中文| 国产一区二区在线看| 欧美日本不卡视频|