Merge branch 'master' of ssh://forthrd.ddns.net:2222/1TBHDD/ikong/taobin_project
BIN
image/page_payment/bd_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
image/page_payment/bn_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
image/page_payment/bp_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 4.3 KiB |
BIN
image/page_payment/img_popup8-2.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
image/page_payment/img_popup8.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
image/page_payment_en/page_payment/bd_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
image/page_payment_en/page_payment/bn_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
image/page_payment_en/page_payment/bp_pay_with_ccard.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 4.3 KiB |
BIN
image/page_payment_en/page_payment/img_popup8-2.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
image/page_payment_en/page_payment/img_popup8.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
|
|
@ -584,7 +584,7 @@
|
|||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq CANCEL
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
|
@ -667,7 +667,7 @@
|
|||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq CANCEL
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
|
@ -742,7 +742,7 @@
|
|||
EndIf
|
||||
|
||||
If MachineState_Result = 1 Then
|
||||
|
||||
;Var MachineState_Result = 2
|
||||
EndIf
|
||||
|
||||
If MachineState_Result = 1 Then
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@
|
|||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq CANCEL
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
|
@ -507,7 +507,7 @@
|
|||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq CANCEL
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
|
|
|||
|
|
@ -199,6 +199,8 @@
|
|||
Var CreditReference = Seeker.CreditReferenceTmp
|
||||
Var VendingDiscount = Seeker.VendingDiscount
|
||||
Var VendingCampaign = Seeker.VendingCampaign
|
||||
Var TxReference = Seeker.TxRef1
|
||||
DEBUGVAR TxReference
|
||||
|
||||
|
||||
If show_eng = "true" Then
|
||||
|
|
@ -461,6 +463,28 @@
|
|||
Var SuggestID = ""
|
||||
Var SessionID2 = ""
|
||||
|
||||
If Seeker.CreditCard = 1 Then
|
||||
Var SessionID2 = SelectSlot + ":"
|
||||
Var SessionID2 = SessionID2 + ExtendData
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + ""
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + "CC01"
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + SelectDrink
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + BoxID
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + "S"
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
Pay ServiceType TelephoneNumber ServiceCredit SuggestID SessionID2 ServiceAmount2 ServiceCharge Donate
|
||||
|
||||
|
||||
|
|
@ -527,6 +551,28 @@
|
|||
Var SuggestID = ""
|
||||
Var SessionID2 = ""
|
||||
|
||||
If Seeker.CreditCard = 1 Then
|
||||
Var SessionID2 = SelectSlot + ":"
|
||||
Var SessionID2 = SessionID2 + ExtendData
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + ""
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + "CC01"
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + SelectDrink
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + BoxID
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + "S"
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
Var SessionID2 = SessionID2 + Seeker.CreditCardRef
|
||||
Var SessionID2 = SessionID2 + "/"
|
||||
|
||||
CashlessReq FAIL
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
Pay ServiceType TelephoneNumber ServiceCredit SuggestID SessionID2 ServiceAmount2 ServiceCharge Donate
|
||||
|
||||
;If Seeker.CodeChannel = 0 Then
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
Var Timeout = Timeout + 1
|
||||
|
||||
If Timeout > 60 Then
|
||||
If Timeout > 5 Then
|
||||
|
||||
StrLen TelephoneNumberProblem TelNumLen
|
||||
If TelNumLen >= 10 Then
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@
|
|||
|
||||
Var Timeout = Timeout + 1
|
||||
|
||||
If Timeout > 60 Then
|
||||
If Timeout > 15 Then
|
||||
|
||||
If MachineStage = "remove-cup" Then
|
||||
Open "ROOT/taobin_project/xml/page_drinkfail3.xml"
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
EndIf
|
||||
|
||||
Else
|
||||
If Timeout > 60 Then
|
||||
If Timeout > 5 Then
|
||||
StrLen TelephoneNumberProblem TelNumLen
|
||||
If TelNumLen >= 10 Then
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
;EndIf
|
||||
|
||||
|
||||
|
||||
Var CashlessPayFlag = 0
|
||||
Var RemainAmountStrENG = ""
|
||||
Var AdultState = "Invisible"
|
||||
Var AdultState1 = "Invisible"
|
||||
|
|
@ -357,6 +357,8 @@
|
|||
Var ShowNetworkProblemText = ""
|
||||
EndIf
|
||||
|
||||
DEBUGVAR NOCashFlag
|
||||
|
||||
If NOCashFlag = 1 Then
|
||||
Var PayState1 = "Disable"
|
||||
EndIf
|
||||
|
|
@ -542,6 +544,94 @@
|
|||
Var ReqPayInfoFlag = 2
|
||||
EndIf
|
||||
|
||||
If web_payment = "TRUE" Then
|
||||
|
||||
Var QR_POPUP = "/img_popup3.png"
|
||||
Var LOADING_STATE = "Enable"
|
||||
|
||||
Var FlagQROpened = 1
|
||||
Var alphaState = "Enable"
|
||||
;CoinVending OFF
|
||||
VendingQR ON
|
||||
|
||||
|
||||
Var SessionID2 = SelectSlot + ":"
|
||||
Var SessionID2 = SessionID2 + Seeker.ExtendData
|
||||
|
||||
Var CreditAmount1 = ""
|
||||
Var ServiceAmountFlow = ""
|
||||
Var TelephoneNumberQR = "0899999999"
|
||||
Var ServiceType = "coffee"
|
||||
Var ECommerceQR = ""
|
||||
Var ECommerceQR = ECommerceQR + PriceDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + DiscountDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SessionID2
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SelectDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + "TWN:2/"
|
||||
|
||||
|
||||
Var ServiceParameter = "max"
|
||||
Var ServiceCharge = 0
|
||||
Var AccountType = "new"
|
||||
Var testservice = "kbank"
|
||||
Var tc = ""
|
||||
Var GetScore = ""
|
||||
Var OperatorName = ""
|
||||
Var SessionID = ""
|
||||
|
||||
GetPayInfo TelephoneNumberQR ECommerceQR ServiceType ServiceParameter SessionID OperatorName CreditAmount1 ServiceAmountFlow GetScore tc
|
||||
Var ReqPayInfoFlag = 3
|
||||
EndIf
|
||||
|
||||
If web_payment = "DOLFIN" Then
|
||||
|
||||
Var QR_POPUP = "/img_popup5.png"
|
||||
Var LOADING_STATE = "Enable"
|
||||
|
||||
Var FlagQROpened = 1
|
||||
Var alphaState = "Enable"
|
||||
;CoinVending OFF
|
||||
VendingQR ON
|
||||
|
||||
|
||||
Var SessionID2 = SelectSlot + ":"
|
||||
Var SessionID2 = SessionID2 + Seeker.ExtendData
|
||||
|
||||
Var CreditAmount1 = ""
|
||||
Var ServiceAmountFlow = ""
|
||||
Var TelephoneNumberQR = "0899999999"
|
||||
Var ServiceType = "coffee"
|
||||
Var ECommerceQR = ""
|
||||
Var ECommerceQR = ECommerceQR + PriceDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + DiscountDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SessionID2
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SelectDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + "DOL:2/"
|
||||
|
||||
|
||||
Var ServiceParameter = "max"
|
||||
Var ServiceCharge = 0
|
||||
Var AccountType = "new"
|
||||
Var testservice = "kbank"
|
||||
Var tc = ""
|
||||
Var GetScore = ""
|
||||
Var OperatorName = ""
|
||||
Var SessionID = ""
|
||||
|
||||
GetPayInfo TelephoneNumberQR ECommerceQR ServiceType ServiceParameter SessionID OperatorName CreditAmount1 ServiceAmountFlow GetScore tc
|
||||
Var ReqPayInfoFlag = 4
|
||||
EndIf
|
||||
|
||||
|
||||
|
||||
EndIf
|
||||
|
||||
__CMD "prepar-cup-from-order" 0 "-" "-"
|
||||
|
|
@ -605,6 +695,9 @@
|
|||
If ReqPayInfoFlag2 = 4 Then
|
||||
Var Seeker.CampaignPayChanel = "dolfin"
|
||||
EndIf
|
||||
If ReqPayInfoFlag2 = 5 Then
|
||||
Var Seeker.CampaignPayChanel = "linepay"
|
||||
EndIf
|
||||
|
||||
|
||||
|
||||
|
|
@ -756,10 +849,62 @@
|
|||
EndIf
|
||||
EndIf
|
||||
|
||||
If ReqPayInfoFlag = 5 Then
|
||||
If VendingQRTypeResult = "LPY:2" Then
|
||||
Var CashTextWarning = ""
|
||||
Var QRErrorState = "Invisible"
|
||||
Var QRCODE99Shoppy = SessionID
|
||||
Var QRCODE99Shoppy = QRCODE99Shoppy + Ext1a
|
||||
SAVELOG Ext1a
|
||||
SAVELOG QRCODE99Shoppy
|
||||
Var QRCODE99Shoppy = QRCODE99Shoppy + Ext21
|
||||
Var ReqPayInfoFlag = 0
|
||||
Var ReqPayInfoFlag2 = 5
|
||||
SAVELOG QRCODE99Shoppy
|
||||
SAVELOG Ext21
|
||||
|
||||
Var QRCODE99 = QRCODE99Shoppy
|
||||
Var LOADING_STATE = "Invisible"
|
||||
|
||||
If show_eng = "true" Then
|
||||
PlayLong "/mnt/sdcard/coffeevending/taobin_project/sound_eng/Please_scan_to_pay_via_e-wallet.mp3"
|
||||
Else
|
||||
PlayLong "/mnt/sdcard/coffeevending/taobin_project/sound_thai/Please_scan_to_pay_via_e-wallet.mp3"
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
Else
|
||||
Var PayInfoCFlag = 1
|
||||
EndIf
|
||||
|
||||
|
||||
If VendingCashless = "OK" Then
|
||||
DEBUGVAR CashlessCode
|
||||
Var Timeout = 0
|
||||
|
||||
Var QRErrorState = "Invisible"
|
||||
|
||||
If ViewBill > 0 Then
|
||||
CoinVending BILLREJECT
|
||||
EndIf
|
||||
|
||||
VendingQR OFF
|
||||
CoinVending OFF
|
||||
|
||||
|
||||
|
||||
If Seeker = "curr" Then
|
||||
MakeDrinkV1 SelectDrink SelectSugarID
|
||||
EndIf
|
||||
Var Seeker.CreditCard = 1
|
||||
Var Seeker.CreditCardRef = CreditCardRef
|
||||
|
||||
Open "ROOT/taobin_project/xml/page_thankyou.xml"
|
||||
|
||||
EndIf
|
||||
|
||||
</EventActionOk>
|
||||
|
||||
<EventActionError>
|
||||
|
|
@ -797,10 +942,45 @@
|
|||
Var PayInfoCFlag = 1
|
||||
EndIf
|
||||
|
||||
|
||||
If VendingCashless = "ERROR" Then
|
||||
Var Timeout = 0
|
||||
|
||||
;Var QRErrorFlag = 1
|
||||
If alphaState = "Enable" Then
|
||||
Var QRErrorState = "Enable"
|
||||
Var LOADING_STATE = "Invisible"
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
|
||||
Refresh
|
||||
|
||||
</EventActionError>
|
||||
|
||||
<EventCashlessCard>
|
||||
|
||||
Var CreditCardRef = ""
|
||||
GenHashWithTimeStamp CreditCardRef
|
||||
DEBUGVAR VendingCashless
|
||||
|
||||
If VendingCashless = "READY" Then
|
||||
Var QRCODE99 = ""
|
||||
Var Timeout = 0
|
||||
Var QRErrorState = "Invisible"
|
||||
Var QR_POPUP = "/img_popup8-2.png"
|
||||
Var VendingCashless = "-"
|
||||
Var LOADING_STATE = "Enable"
|
||||
CashlessPay PriceDrink CreditCardRef
|
||||
Var CashlessPayFlag = 1
|
||||
EndIf
|
||||
|
||||
Refresh
|
||||
|
||||
</EventCashlessCard>
|
||||
|
||||
|
||||
<Timeout> 1000 </Timeout>
|
||||
<EventTimeout>
|
||||
|
|
@ -960,6 +1140,11 @@
|
|||
Var CancelFlag = 1
|
||||
Var cancelState = "Enable"
|
||||
|
||||
If CashlessPayFlag = 1 Then
|
||||
Var CashlessPayFlag = 0
|
||||
CashlessReq FAIL
|
||||
EndIf
|
||||
|
||||
Var CancelCounter = 0
|
||||
If CoinAmount = 0 Then
|
||||
|
||||
|
|
@ -1366,6 +1551,8 @@
|
|||
</EventVDCancle>
|
||||
|
||||
|
||||
|
||||
|
||||
<Image>
|
||||
<X> 91 </X>
|
||||
<Y> 1180 </Y>
|
||||
|
|
@ -1416,6 +1603,11 @@
|
|||
If FlagQROpened = 1 Then
|
||||
Var CancelNumber = 12
|
||||
EndIf
|
||||
|
||||
If CashlessPayFlag = 1 Then
|
||||
Var CashlessPayFlag = 0
|
||||
CashlessReq FAIL
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
EndIf
|
||||
|
|
@ -1682,6 +1874,38 @@
|
|||
</EventClick>
|
||||
</Button>
|
||||
|
||||
<Button>
|
||||
<X> 432 </X>
|
||||
<Y> 1503 </Y>
|
||||
<State> "Invisible" </State>
|
||||
<Filename> Var( DirImage + "/bn_pay_with_ccard.png") </Filename>
|
||||
<FilenamePress> Var( DirImage + "/bp_pay_with_ccard.png") </FilenamePress>
|
||||
<FilenameDisable> Var( DirImage + "/bd_pay_with_ccard.png") </FilenameDisable>
|
||||
<Sound> "/mnt/sdcard/coffeevending/wav/click.wav" </Sound>
|
||||
<Volume> SoundVolume </Volume>
|
||||
<EventClick>
|
||||
|
||||
|
||||
If alphaState = "Invisible" Then
|
||||
|
||||
If CoinInFlag = 0 Then
|
||||
If CancelFlag = 0 Then
|
||||
|
||||
Coin CARD
|
||||
Var QR_POPUP = "/img_popup8.png"
|
||||
Var alphaState = "Enable"
|
||||
Refresh
|
||||
|
||||
|
||||
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
</EventClick>
|
||||
</Button>
|
||||
|
||||
<Button>
|
||||
<X> 418 </X>
|
||||
<Y> 1503 </Y>
|
||||
|
|
@ -1908,6 +2132,11 @@
|
|||
If FlagQROpened = 1 Then
|
||||
Var CancelNumber = 12
|
||||
EndIf
|
||||
|
||||
If CashlessPayFlag = 1 Then
|
||||
Var CashlessPayFlag = 0
|
||||
CashlessReq FAIL
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
EndIf
|
||||
|
|
@ -2001,6 +2230,15 @@
|
|||
Var QRCODE99 = ""
|
||||
;CoinVending ON
|
||||
;VendingQR OFF
|
||||
|
||||
CashlessReq OFF
|
||||
|
||||
If CashlessPayFlag = 1 Then
|
||||
Var CashlessPayFlag = 0
|
||||
CashlessReq FAIL
|
||||
EndIf
|
||||
|
||||
|
||||
Refresh
|
||||
</EventClick>
|
||||
</Button>
|
||||
|
|
|
|||
|
|
@ -328,6 +328,71 @@
|
|||
</EventClick>
|
||||
</Button>
|
||||
|
||||
<Button>
|
||||
<X> 209 </X>
|
||||
<Y> 1112 </Y>
|
||||
<State> "Enable" </State>
|
||||
<Filename> "ROOT/taobin_project/image/collectiing/bn_pay_with_linepay.png" </Filename>
|
||||
<FilenamePress> "ROOT/taobin_project/image/collectiing/bp_pay_with_linepay.png" </FilenamePress>
|
||||
<FilenameDisable> "ROOT/taobin_project/image/collectiing/bd_pay_with_linepay.png" </FilenameDisable>
|
||||
<Sound> "ROOT/sounds/codebuttom.wav" </Sound>
|
||||
<Volume> SoundVolume </Volume>
|
||||
<EventClick>
|
||||
|
||||
Var QR_POPUP = "/img_popup9.png"
|
||||
Var LOADING_STATE = "Enable"
|
||||
|
||||
Var QRCODE99 = ""
|
||||
|
||||
Var FlagQROpened = 1
|
||||
Var alphaState = "Enable"
|
||||
;CoinVending OFF
|
||||
VendingQR ON
|
||||
|
||||
|
||||
Var SessionID2 = SelectSlot + ":"
|
||||
Var SessionID2 = SessionID2 + Seeker.ExtendData
|
||||
|
||||
Var CreditAmount1 = ""
|
||||
Var ServiceAmountFlow = ""
|
||||
Var TelephoneNumberQR = "0899999999"
|
||||
Var ServiceType = "coffee"
|
||||
Var ECommerceQR = ""
|
||||
Var ECommerceQR = ECommerceQR + PriceDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + DiscountDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SessionID2
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + SelectDrink
|
||||
Var ECommerceQR = ECommerceQR + "/"
|
||||
Var ECommerceQR = ECommerceQR + "LPY:2/"
|
||||
|
||||
;If IntVendingCampaign > 0 Then
|
||||
; Var ECommerceQR = ECommerceQR + Seeker.VendingCode
|
||||
; Var ECommerceQR = ECommerceQR + ":"
|
||||
; Var ECommerceQR = ECommerceQR + Seeker.CodeNumber
|
||||
; Var ECommerceQR = ECommerceQR + ":"
|
||||
; Var ECommerceQR = ECommerceQR + Seeker.VendingCampaignRI3
|
||||
;EndIf
|
||||
|
||||
Var ServiceParameter = "max"
|
||||
Var ServiceCharge = 0
|
||||
Var AccountType = "new"
|
||||
Var testservice = "kbank"
|
||||
Var tc = ""
|
||||
Var GetScore = ""
|
||||
Var OperatorName = ""
|
||||
Var SessionID = ""
|
||||
|
||||
GetPayInfo TelephoneNumberQR ECommerceQR ServiceType ServiceParameter SessionID OperatorName CreditAmount1 ServiceAmountFlow GetScore tc
|
||||
Var ReqPayInfoFlag = 5
|
||||
Var ReqPayInfoFromCashOther = 1
|
||||
Open "ROOT/taobin_project/xml/page_payment_cash.xml"
|
||||
|
||||
</EventClick>
|
||||
</Button>
|
||||
|
||||
<Button>
|
||||
<X> 209 </X>
|
||||
<Y> 1112 </Y>
|
||||
|
|
@ -339,8 +404,7 @@
|
|||
<Volume> SoundVolume </Volume>
|
||||
<EventClick>
|
||||
|
||||
;Coin CARD
|
||||
;for test
|
||||
|
||||
|
||||
</EventClick>
|
||||
</Button>
|
||||
|
|
|
|||